设寄存器位数为8位,机器数采用补码形式(一位符号位),对应于十进制数-27,寄存器内是多少,怎么算啊?

如题所述

对于十进制的数-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。

参考资料来源:百度百科-补码

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-17
是E5H,-27,8位:1,0011011 补码:1,1100101 机器数:11100101=E5H
第2个回答  2013-04-27
-27二进制:1001 1011
反码: 1110 0100
+1 变成补码: 1110 0101本回答被网友采纳
第3个回答  2022-12-03

你的题目,是求-27 的 8 位补码。

方法是:用绝对值减一、取反。

先减一,得:26 = 0001 1010 ( 8 位二进制数)。

再取反,即:1110 0101。

寄存器内,就是这个“1110 0101”。

本回答被网友采纳
相似回答