爱咋咋地
分类: LINUX
2009-03-03 10:57:58
1. 从最基本的理解开始,0就是 0x00 ,所以 0-1 = -1 并且 0-1=0xff ,所以 -1 = 0xff
2. 以此类推 -2 = 0xfe -3=0xfd ……
3. 但这样正数怎样表示那,也得表示正数啊,所以两边切开:一半表示正数,一半表示负数。从什么地方来切那?肯定是正中间,所以就是从0x80处来切,也就是说 从0-0x
4.上面已经说了 -1=0xff ,-2 = 0xfe ,那怎样找到一个从 1到-1 从n到-n的映射关系那?
先把n 的二进制表示的所有位取反(这就叫反码),然后在加上1 正好等于 –n (这就叫做补码)
5. 所以来说是先有了负数的表示,后有的所谓反码和补码。
这样就比较好理解了!