举一个计算机补码计算的例子,以及怎么计算
运用:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理。
计算
1、正数
正整数的补码是其二进制表示,与原码相同。
例如:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
2、负数
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
例如:求-5的补码。-5对应正数5(00000101)→所有位取反(11111010)→加1(11111011)。所以-5的补码是11111011。
3、0的补码
[+0]补=[+0]反=[+0]原=00000000
[ -0]补=11111111+1=00000000
扩展资料
补码乘法
补码的乘法不具备【X*Y】补=【X】补×【Y】补的性质。但是【X*Y】补==【X】补×Y,所得结果再取补码,如x=101,y=011,[x*y]补=-[(-101)*011]=-[011*011]=-01001=10111。
其中,若【Y】补=y31y30??y0,则 Y=-y31*2^31+y30*2^30+??+y0*2^0
原码
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
参考资料来源:百度百科-补码
参考资料来源:百度百科-原码
在计算机系统中,数值,一律采用补码表示和存储。
补码,实际上,是一个“代替负数”的正数。
比如,两位十进制数的计算:
25 - 1 = 24
25 + 99 = (进位) 24
只要你忽略进位,仅取两位数,这两种算法,就是等效的。
那么,+99 就能代替-1。同时,加法,也就代替了减法运算。
+99 就称为“-1 的补数”。
补数怎么求? 就是:负数+进位值。
进位值,也就是 2 位 10 进制数的计数周期。
----------------
计算机使用二进制,补数,就改称为:补码。
对于 8 位二进制,其进位值是 2^8 = 256。
那么:
-1 的补码,就是 256-1 = 255 = 1111 1111。
-2 的补码,就是 256-2 = 254 = 1111 1110。
。。。
求补码,并不需要借助于原码和反码。
公式就是:周期 + 负数。
在计算机中,利用补码,可以简化算法。
因此,就可以简化计算机的硬件。
-------------------------
例如,用补码计算: 3 + (-1) = 2。
0000 0011 (= 3)
+ 1111 1111 (-1 的补码=255)
---------------------
(1) 0000 0010 (= 2)
舍弃进位,只取八位,结果就完全正确。
-------------------------
补码,就是补码。
补码和原码反码,并没有任何关系。
取反加一、符号位不变 ... ,这些,并没有任何理论依据。