比如-9的补码是11110111。
9的源码是00001001,如果是负数,则补码最高位为1,余数取反,即11110110然后在最低位加1,得到11110111。
计算机中的负数以补码形式存在,补码=原码的反转+1。
Abyte有8位,可以表示-128到+127之间的值。二进制表示为10000000-01111111(注:最高位代表符号)。最高位为1的都是负数,最高位为0的都是正数。
扩展信息:
补码乘法
补码乘法无补码[X*Y]=[X]补码×[Y]补集属性。然而,补码[X*Y]==补码[X][011*011]=-01001=10111。
其中,若[Y]补=y31y30...y0,则Y=-y31*2^31+y30*2^30+...+y0*2^0
原代码表示在数值前面加了一个符号位(即最高位为符号位):该位为0表示正数,1表示负数(0有两种表示:+0和-0)其余位表示数值的大小。
上一篇:删完东西为什么内存不回来
下一篇:整数在内存中的存储形式