对于十进制的数-27,在寄存器内是:1,1100101。
计算机存储负数采用补码的存储形式,所以我们要先计算出-27的原码形式:运用十进制转二进制的方法转为二进制形式为:1,0011011。然后再转化为补码,原码转化为补码的方法为将原码初符号位全部取反然后再加1。
所以得出存储的补码形式:1,0011011→1,1100100+1=1,1100101。
扩展资料:
补码的性质:
以补码定义式为基础,沿数轴列出典型的真值、原码与补码表示,可清楚了解补码的有关性质 。
1、在补码表示中,最高位x0(符号位)表示数的正负,在形式上与原码相同,即 0正 1负。但补码的符号位是数值的一部分,由补码定义式计算而得。例如,负小数补码中为 x0为1,这个 1是真值X(负)加模 2后产生。
2、在补码表示中,数 0只有一种表示,[+0]补 =[-0]补 =0.000……0。
3、负数补码表示的范围比原码稍宽,多一种数码组合。对于定点数,若为纯小数,表示范围为:
-1~1-2^(-n),若为纯整数,表示范围为:-2^n~2^n-1。
原码求补码:
正数:
正整数的补码是其二进制表示,与原码相同。
例:+9的补码是00001001。
负数:
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
例:求-5的补码。
-5对应带符合位负数5(10000101)→除符号位外所有位取反(11111010)→加00000001(11111011)。
所以-5的补码是11111011。
0的补码:
数0的补码表示是唯一的。
[+0]补=[+0]反=[+0]原=00000000。
[ -0]补=11111111+1=00000000。
参考资料来源:百度百科-补码
你的题目,是求-27 的 8 位补码。
方法是:用绝对值减一、取反。
先减一,得:26 = 0001 1010 ( 8 位二进制数)。
再取反,即:1110 0101。
寄存器内,就是这个“1110 0101”。
本回答被网友采纳