说什么什么补码,反码,模,到底怎么回事?计算机中怎么表示负数呢,有符号数的最高位是符号位?已知一个负数,请马上告诉我它在内存的二进制码长怎么样?……
慢一点,不着急,先看看热闹吧!话说有两个正数惹了祸:一个正数减去一个更大的正数,结果产生了负数。
1,为什么负数的最高位是1?
从某一位开始总是要用0减去1,所以总是要向高位借位,差值的最高位一定是1.
2,什么是模?
最后一次借位的那个1所表示的数就是这两个两个数的模。
3,模的物理意义
借位会停下来是因为计算机没有更多的bit位来记录借位这件事了,决定到此为止。借位发生的最大次数等于模的大小。
4,-1怎么表示?
-1可以用二进制的0减去二进制的1得到,必然会发生借位,借位什么时候停下来呢,需要知道借位的最多次数,也就是模。
如果模式2的8次方,则表示成0xfe.如果模式额的16次方,则表示成0xffffe.
只要手动做一次二进制减法运算,很多问题就都想明白了,是不是很简单!