数的表示{
原码:
反码:(正数不变;负数按位取反,符号位不变。)
补码:(正数不变;负数:反码+1)
}
如果字长为8位,从0~7。从右到左数,最高位(第七位)是符号位。
0为正,1为负。
最大:0111111 (2的7次幂减一)
最小:1000000 (负的2的7次幂)
例子1 17的原码、补码和反码
17用二进制表示:10001;一共八位补上为:00010001(原码)
补码和反码均为00010001
例子二 写出负17的原码、补码和反码。
最高位为1;17的二进制表示10001,所以原码为10010001
反码(按位取反):11101110
补码(反码加一):11101111
计算机中,数用补码来存。
补码的好处:
1) 1和0,表示唯一;
2) 可以把减法表示为加法。例如:(x-y)补码=x补码+y补码
3) 使数的表示范围多1.
注:强制规定,补码10000000对应的数字是-128,字长为8时最小的数