存储方式
整型数据都以补码的形式储存在内存中。
使用补码能方便的进行运算,具体的方式本文就不做详细分析了,可参考https://blog.csdn.net/changgui5211/article/details/46779441
有符号类型最高位位符号位,0代表正数,1代表负数.
原码:
除了符号位,其余是数据的绝对值的二进制数
例子:若机器字长n等于8,则
[+1]原=0000 00001 [-1]原=1000 00001
[+127]原=0111 1111 [-127]原=1111 1111
[+45]原=0010 1101 [-45]原=1010 1101
反码:
正数的反码和补码都和原码一样. 负数的反码是除了符号位,其余的对其原码逐位取反
例子:若机器字长n等于8,则
[+1]反=0000 00001 [-1]反=1111 1110
[+127]反=0111 1111 [-127]反=1000 0000
[+45]反=0010 1101 [-45]反=1101 0010
补码
正数和原码一样,负数的补码=其反码+1
例子:若机器字长n等于8,则