读书人

原码补码概念学问补全

发布时间: 2012-08-25 10:06:20 作者: rapoo

原码补码概念知识补全

因为计算机内表示数值使用的是补码,而不是原码,所以你才有这样的疑问。下面我简单解释一下你就明白了。?
原码就是这个数本身的二进制形式。 以8位二进制为例?
0000001 就是+1?
1000001 就是-1?
补码分为两种情况:1、正数的补码与原码一样;2、负数的补码是符号位保持不变,其余各位取反,再加1。?
反码就是负数符号位不变,其余各位取反,正数反码与原码相同。?
以四位二进制为例,其原码、反码、补码为:?
真值原码反码补码?
7011101110111?
6011001100110?
5010101010101?
4010001000100?
3001100110011?
2001000100010?
1000100010001?
0000000000000?
-0100011110000?
-1100111101111?
-2101011011110?
-3101111001101?
-4110010111100?
-5110110101011?
-6111010011010?
-7111110001001?
为什么要设立补码呢??
第一是为了能让计算机执行减法:[a-b]补=a补+(-b)补?
第二个原因是为了统一正0和负0?
正零:00000000?
负零:10000000?
这两个数其实都是0,但他们的原码却有不同的表示。?
但是他们的补码是一样的,都是00000000?

16位二进制原码表示的负数是 -0~-32767,包括-0加起来是32768个数;因为补码加了1,所以补码的表示范围是 -1~-32768,也是32768个数。?

n位补码能表示的范围的公式是?
-2^(n-1)到2^(n-1)-1?
比n位原码能表示的数多一个?

读书人网 >操作系统

热点推荐