C语言中隐式类型转换 截断和整型提升

devtools/2025/2/19 0:24:06/

C的整形算数总是至少以缺省整形类型的精度来进行的

为了获得这个精度 表达式中的字符和短整形操作数在使用之前被转换为普通整形 这种类型转换成为整型提升

给出代码实例↓

#include<stdio.h>
int main()
{//char = signed charchar a = 3;char b = 127;char c = a + b;printf("%d", c);return 0;
}

正常来说结果为130 但是运行结果为什么是↓

 

为什么呢  这就牵扯到了整形提升(针对二进制的序列补码)

所谓的整形提升分为 有符号的 和 无符号的整形

对于有符号的最高位是0就补0 , 1就补1

无符号的全都补0

先从a看起3的普通整形是(4个字节)

a:00000000000000000000000000000011

但是a的类型是char (一个字节)此时就会发生截断保留后面八个比特位

a:00000011

b也是同样的原理 截断后

b:01111111

运算时 a,b会被提升为普通整形(32比特位)再进行运算

就会有

a:00000000000000000000000000000011

b:000000000000000000000000011111111

c:00000000000000000000000010000010

c是char类型 又会发生截断

c:10000010

%d是打印十进制的整数 c发生整形提升

11111111111111111111111110000010 补码

10000000000000000000000001111110  原码

二进制转换为十进制的结果位-126

#include<stdio.h>
int main()
{//char = signed charchar a = 3;//00000000000000000000000000000011//截断//00000011char b = 127;//00000000000000000000000001111111//01111111char c = a + b;//00000011//01111111//整形提升//00000000000000000000000000000011//00000000000000000000000001111111//00000000000000000000000010000010//10000010printf("%d", c);//c整形提升//11111111111111111111111110000010补码//10000000000000000000000001111110原码//-126return 0;
}

 

 

 


http://www.ppmy.cn/devtools/159141.html

相关文章

【后端发展路径】基础技术栈、工程能力进阶、高阶方向、职业发展路径

后端开发是一个技术深度和广度并重的领域,以下是完整的职业发展路径和学习规划,分为技术成长、工程能力、职业方向等维度,适合不同阶段的开发者参考: 一、基础技术栈 编程语言 必学:Java(Spring生态)/Go(高性能场景)/Python(快速开发)核心能力:理解语言特性(并发、…

RocketMQ和Kafka如何实现顺序写入和顺序消费?

0 前言 先说明kafka&#xff0c;顺序写入和消费是Kafka的重要特性&#xff0c;但需要正确的配置和使用方式才能保证。本文需要解释清楚Kafka如何通过分区来实现顺序性&#xff0c;以及生产者和消费者应该如何配合。   首先&#xff0c;顺序写入。Kafka的消息是按分区追加写入…

第十一篇:EMC的“电磁护盾”——三电系统干扰抑制实战

副标题&#xff1a;如何在数字与模拟世界的夹缝中&#xff0c;为三电系统打造“电磁结界” 核心隐喻&#xff1a;电磁兼容&#xff08;EMC&#xff09;即“数字母体”的防御机制 - 绿色代码雨 &#xff1a;将电磁干扰&#xff08;EMI&#xff09;视为Matrix中失控的数据流…

部署 DeepSeek R1各个版本所需硬件配置清单

DeepSeek-R1 通过其卓越的推理性能和灵活的训练机制&#xff0c;在 2025 年的春节期间受到了广泛关注。 DeepSeek-R1 是一款高性能的 AI 推理模型&#xff0c;主要通过强化学习技术来增强模型在复杂任务场景下的推理能力。 在本地部署 DeepSeek-R1 时&#xff0c;尤其是完整的…

卷积神经网络实战人脸检测与识别

文章目录 前言一、人脸识别一般过程二、人脸检测主流算法1. MTCNN2. RetinaFace3. CenterFace4. BlazeFace5. YOLO6. SSD7. CascadeCNN 三、人脸识别主流算法1.deepface2.FaceNet3.ArcFace4.VGGFace5.DeepID 四、人脸识别系统实现0.安装教程与资源说明1. 界面采用PyQt5框架2.人…

安全启动(secure boot)怎么关闭_史上最全的各品牌机和组装机关闭安全启动教程

很多网友发现电脑BIOS设置中都有一个secure boot(安全启动)选项&#xff0c;而且一些预装win10或win11改Win7的教程中也有提到要把安全启动关闭&#xff0c;那么我们该怎么关闭安全启动呢&#xff1f;下面教大家各品牌机和组装机关闭安全启动教程。 secure boot该关还是开&…

1.【BUUCTF】[极客大挑战 2019]PHP(反序列化)

打开题目页面如下 很有趣的前端页面&#xff0c;猫猫会随着球的方向目光跟随&#xff0c;靠近猫猫还会把玩球 看到提示备份网站&#xff0c;但不知道备份文件名&#xff0c;用kali中的dirsearch扫描根目录试试 扫描特定的后缀&#xff0c;命令如下 dirsearch -u http://b3f2b…

Baklib知识中台构建企业智能运营核心架构

内容概要 在数字化转型的浪潮中&#xff0c;企业对于知识的系统化管理需求日益迫切。Baklib作为新一代的知识中台&#xff0c;通过构建智能运营核心架构&#xff0c;为企业提供了一套从知识汇聚到场景化落地的完整解决方案。其核心价值在于将分散的知识资源整合为统一的资产池…