二进制的反码怎么算
二进制的反码算法如下:
反码:正数的反码还是等于原码;负数的反码就是它的原码除符号位外,按位取反。
两个数进行二进制反码求和的运算,它的规则是从低位到高位逐列进行计算。0和0相加是0但要产生一个进位1,0和1相加是1,1和1相加是0。若最高位相加后产生进位,则最后得到的结果要加1。
举例:已知X = + 1101 , Y = + 0110 , 用反码计算Z = X-Y。
[X]反 = 01101
[-Y]反 = 11001
则[Z]反 =[X]反+[-Y]反 = 01101+11001+1(循环进位)= 00111
其真值为Z = +0111
运算注意事项
1、反码的符号位相加后,如果有进位出现,则要把它送回到最低位去相加(循环进位)。
2、反码运算时,其符号位与数值一起参加运算。
3、用反码运算,其运算结果亦为反码。在转换为真值时,若符号位为0,数位不变;若符号位为1,应将结果求反才是其真值。
原码的求解规则
正数:就是它对应的二进制数。
负数:将绝对值对应的二进制最左边位变为1。
所以-11的原码就是10001011。
备注:最左边是符号位,0表示正数,1表示负数,下同。
反码的求解规则
正数:和原码相同,也就是对应的二进制数。
负数:将原码符号位之外的数字取反,即0变1,1为0。
所以-11的反码是11110100。
补码的求解规则
正数:和反码相同,也就是对应的二进制数。
负数:将反码的最后一位加1。
所以-11的补码就是11110101。