二进制补码(two's complement)和无符号形式及其转换图

“无符号二进制”函数(2.1)和“二进制到二进制补码”函数(2.2):

令字长w=4,比较无符号和补码形式:

       

1。二进制补码的范围是不对称的:  |TMin(w)| =|TMax(w)| +1,即最小值(-8)没有与之对应的正数,这导致二进制补码运算的某些特殊属性并容易造成程序中细微的错误。初学时(字长是8),会以为11111111是-127,纳闷-128从哪里来。
2。最大的无符号值刚好比二进制补码的最大值的两倍大一点:UMax(w) = 2TMax(w) +1。这是因为二进制补码表示保留了一半(1/2)的位模式来表示负数值。

3。-1和0的情况:-1和UMax(w)是相同的位表示,即全1;0在两种表示方式中相同,即全0。

posted @ 2010-03-02 14:36  MayFirst  阅读(1151)  评论(0编辑  收藏  举报