补码
若机器字长n,则补码的定义如下:
若X是纯整数,则
[X]补=X,0≤X≤2的n-1次 -1
[X]补=2的n次+X,-(2的n-1次)≤X≤0
若X是纯小数,则
[X]补=X,0≤X<1
[X]补=X+2,-1≤X<0
若机器字长为8位,分别给出+1,-1,+127,-127,+45,-45,+0.5,-0.5的补码表示
[+1]补=0 0000001
[-1]补=0 1111111
[+127]补=0 1111111
[-127]补=1 0000001
[+45]补=0 01011101
[-45]补=1 1010011
[+0.5]补=0 1000000
[-0.5]补=1 1000000
任意正整数的补码都与原码一样,对于负整数而言,其对应的补码应该是绝对值原码每位取反+1.
在补码表示中,0有唯一的编码:
[+0]补=0 0000000