C语言_整型提升

整型提升:
1.有符号数,提升的高位全取符号位
2.无符号数,提升的高位全取0.

比如 :

char a = -1;
printf("%d\n,a);
-1:
10000000_00000000_00000000_00000001(原码)
11111111_11111111_11111111_11111110(反码)
11111111_11111111_11111111_11111111(补码,在内存中a以补码形式存储)
char a 在内存中按8位,2进制存放:
11111111
printf()打印a,按照“%d”,打印有符号整数。(4字节)所以要对a进行整型提升,a是有符号数,高位填1
提升后,a:
11111111_11111111_11111111_11111111
char b = -128;
printf("%d\n,b);




posted @ 2026-04-27 12:11  火炎焱大兔汁  阅读(3)  评论(0)    收藏  举报