用二进制补码计算下列各式-12-5
则-12的原码为101100,反码为110011,补码为110100。
-5的原码为100101,反码为111010,补码为111011。
正数的补码表示:
正数的补码 = 原码
负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or
= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}
以十进制整数+97和-97为例:
+97原码 = 0110_0001b
+97补码 = 0110_0001b
-97原码 = 1110_0001b
-97补码 = 1001_1111b
扩展资料:
正数
正整数的补码是其二进制表示,与原码相同 。
例:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
负数
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
参考资料来源:百度百科-补码
最少要用六位:
则-12的原码为101100,反码为110011,补码为110100。
-5的原码为100101,反码为111010,补码为111011。
110100 + 111011=1101111,舍去第一个1,第二个1为符号位,结果为101111。
又因为此结果为补码,所以再对101111求一次补码。
结果为:110001。
扩展资料:
补码详细解释
正数的补码就是其本身
负数的补码是在其原码的基础上,
符号位不变, 其余各位取反,
最后+1. (即在反码的基础上+1)例如:
1、[+1] = [00000001]原
= [00000001]反
= [00000001]补
2、[-1] =[10000001]原
= [11111110]反
= [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的.,通常也需要转换成原码在计算其数值。
参考资料来源:百度百科-补码
2019-03-03
则-12的原码为101100 反码为110011 补码为110100
-5的原码为100101 反码为111010 补码为111011
110100 + 111011 =1101111 舍去第一个1 第二个1为符号位 结果为101111
又因为此结果为补码 所以再对101111求一次补码
结果为110001
采纳答案,思路正确,过程错误。
应该这么写:
[-12]补+[-5]补=11110100b+。。。=[-17]补