1、为什么二进制存在补码形式?
若采用最高位只代表符号位而不代表数值的编码规则,即最高位0为正,最高位1为负的表达方法,则
-5+5 = 1_0101+0_0101 = 1_1010 = -10(D),互为相反数的两个数的代数和不为0,这对于机器计算是非常不方便的。
怎么解决这个问题?采用二进制补码的形式
2、二进制补码怎么化为十进制数?
二进制补码:不仅将最高位赋予符号位的含义,而且还赋予其权值的大小(0为正,1为负)
最高位的权值的绝对值最大,这样看,如果最高位的符号为正,该补码代表的数就是正数,如果最高位符号位为负,该补码代表的数就是负数。
这样-5+5=1_1011+0_0101 = 0_0000 利用溢出的原理全部回0