整数的编码方法
与定点小数的三种编码方法类似,整数也可以用原码、补码和反码三种不同的编码方法表示。区别主要表现在:
定点小数的小数点位置严格地设置在数的符号位与最高数值位之间,因此,数的表示范围和编码的取模值与用多少位二进制表示一个数无关,该位数只影响数值的精度。可以认为整数是小数点被设置在最低一位数值位的右边, 机器数的最高位仍被用作数的符号位。
数值的表示范围,以及整数编码的取模值,都与表示一个数所用的二进制位数有关。
整数三种编码的定义、特性和相互间的变换方法,均与定点小数相应的三种表示类似,只是补码的取模值为2k+1 或2k+2 (对变形补码),这里的k为二进制整数数值位的位数。例如, X=+10101 [X]原 =[X]补 =[X]反 =010101
X=-10101 [X]原 =110101
[X]补 =101011
[X]反 =101010
以上两个数的变形补码分别为0010101和1101011。这里的K均为5。