整形提升-C语言

整型提升的原则:当一个小字节数,向大字节数转换时,有符号补0或1,无符号补0;

为什么会发生测试结果呢,让我们来看一下

在64位的环境中char是1个字节8位

char a=1;

1000 0001 原码 整形提升 11111111 11111111 11111111 11111111 补

1111 1110 反码 10000000 00000000 0000000 0000000 反码

1111 1111 补码 请看右边 10000000 00000000 0000000 0000001 原码

计算机中存的是补码(计算机识别):转换时要化为源码(人类识别) 结果为-1;

unsigned char b=-1;

1000 0001 源码 整形提升 00000000 00000000 00000000 11111111 补码

1111 1110 反码 00000000 00000000 00000000 11111111 反码

1111 1111 补码 00000000 00000000 00000000 11111111 原码

2^8-1=255;(原反补相同)

32位 64位

char 1 1

short 2 4

指针 4 8

int 4 4

double 8 8

float 4 4

long 4 8

longlong 8 8

相关推荐
weixin_649555671 天前
C语言程序设计第四版(何钦铭、颜晖)第十章函数与程序设计之汉诺塔问题
c语言·c++·算法
C羊驼1 天前
C语言:随机数
c语言·开发语言·经验分享·笔记·算法
fengfuyao9851 天前
CH552多功能音量调节旋钮设计与实现
c语言·开发语言
炸膛坦客1 天前
单片机/C/C++八股:(十六)C 中 malloc/free 和 C++ 中 new/delete 有什么区别?
c语言·开发语言·c++
Navigator_Z1 天前
LeetCode //C - 990. Satisfiability of Equality Equations
c语言·算法·leetcode
Book思议-1 天前
【数据结构实战】双向链表:在指定位置插入数据
c语言·数据结构·算法·链表
C羊驼1 天前
C/C++数据结构与算法:穷举法
c语言·c++·笔记·学习·算法
程序员敲代码吗1 天前
USB-C接口深度测试:从Vconn到电压的全方位分析
c语言·开发语言
Hello eveybody1 天前
C语言的发明者介绍
c语言
weixin_537590451 天前
《C程序设计语言》练习答案(练习1-5)
c语言·开发语言