正,反,补 码的概念
(1)源码:
所谓的源码就是二进制定点数的表示,即源码的符号位在最高位,“0” 表示正,“1” 表示负数,数值部分按一般的二进制形式,例如:
在二进制中,使用的二进制位数越多,所能表示的数的范围就越大,如:
这两个数就无法用8位的二进制表示。
用原码表示一个定点数最简单,如果用8位二进制存放一个定点数的原码,能表示的数值范围为:
一般来说,如果用n位二进制来表示一个定点数的原码,则能表示整数值的范围为:
但是注意是,采用原码表示后,两个异号数不能直接相加,或者说,两个同号数不能直接相减。
(2)反码:
反码表示法规定,整数的反码和源码相同;负数的反码是对该数的原码除符号位外其它各位取反(即将“0” 变为 “1”,“1” 变为 “0”)如:
容易验证,一个数的反码的反码还是原码本身
(3)补码:
补码表示法规定:整数的补码和原码相同;负数的补码是在该书的反码的最后(即最右边)的一位加上1,例如:
由此可得:一个数的补码的补码还是原码本身;