1、整型常量的表示方法
整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。
八进制整常数前缀是0,数码取值为0~7,如023、017、-053。
十六进制常数前缀是0x或者是0X,数码取值为0~9,a~f或者A~F,如,0x27a,0X99,0XABCDEF,-0Xab。
十进制正常数无前缀,数码取值为0~9,如2342,146,-1235。
2、补码
数值在计算机中是以补码的形式表示的
正数的补码和原码相同;
负数的补码:将该数的绝对值的二进制形式按位取反再加1。
3、整型数据的溢出
以短整型数据为例
short int a, b;a = 32767; b = a + 1; printf("b = %d",b);则b = -32768;
a的二进制表示为
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
-32768的绝对值是32768,二进制表示为
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |