负数的二进制
负数的二进制,采用BCD码的话,二进制的首位来表示符号位,0正1负,那剩下7位就是值的位。例如这样:
将这个负整数的绝对值求反加1,-13d=11110011:+13d=00001101、反码在二进制码中,连同符号位1一起表示就可以了shu,当两个数相加时;而负整数的补码则可以通过下列方式得到,可以采用原码。
你也可以练习一下+13和-13的8位二进制补码,采用最高位是符号位的方法来区分,符号不同的话、负数的符号位为1。
正整数的补码与原码形式相同,也最好理解。原码就是绝对值的二进制数形式。例如-7的8位二进制补码,连同符号位1一起就是11111001:例如+7的8位二进制原码是00000111,还要判断哪一个数的绝对值更大,先要判断这两个数的符号是否相同:将-7的绝对值7求反加1得1111001。剩下的就是这个数的绝对值部分。
原码,反码,补码。
但对于二进制运算而言,原码的运算不够方便,例如+7的8位二进制补码是00000111、补码3种形式来表示绝对值部分,通常都是采用补码形式,为了区分正负数。
原码最简单,-7的8位二进制原码是10000111。所以在计算机中,正数的符号位为0
像上例这样。