首页 > 试题广场 >

假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么

[单选题]
假设寄存器为8位,用补码形式存储机器数,包括一位符号位,那么十进制数-25在寄存器表示为:
  • 67H
  • 99H
  • E6H
  • E7H
推荐
十进制数-25的原码为10011001,反码为11100110,补码是反码加1,即为11100111,转化为十六进制即为E7
编辑于 2016-11-23 23:38:49 回复(3)
《深入理解计算机系统》这本书上提供了一个思路。正数的反码为其本身,负数和零的反码计算方式为:(2^n-x),其中n指代表示的数的二进制位数,x指的是数本身的值的绝对值。这也是反码英文one‘s complement的来源,即(2^n-x)还可以写成([10...0]-x),这里面的1只有一个。

运用在上面的题目上过程就是:2^8-25=231. 231的十六进制表示为E7.
发表于 2017-03-13 22:09:44 回复(2)
25=0001 1001B(就是将25写成二进制形式)
变成-25的方法是:将上面的数从右往左看,从第一个不为1的数字起(包括该数字)往左,全部取反。
对0001 1001B,从右往左看,第一位是1,不变;第二位是0,不为1,于是,从这一位起(包括该位)往左,全部取反,就变成了
1110 0111B,即E7H。
发表于 2016-03-29 11:17:17 回复(1)
求负数的反码,符号位不变,求补码时,符号位可变;
发表于 2015-09-22 17:55:21 回复(1)
补码是反码加一,在求反码的时候,符号位不取反。
发表于 2019-08-10 17:48:05 回复(0)
负数的原码就是正数的最高为(符号位是1),负数的补码是反码加1,反码是除符号位外全部取反。
发表于 2018-11-02 09:45:35 回复(0)
原码-反码-补码 经过了这么些运算
发表于 2018-08-25 10:09:45 回复(0)
我把-25看成25了😩
发表于 2017-12-31 23:32:41 回复(0)
FF-19+1
发表于 2017-10-19 21:15:46 回复(0)
注意,是10进制的25,转为16进制0x19
发表于 2017-09-06 17:03:12 回复(0)
原码转换为补码:
1.正数的补码与原码形式相同
2.负数出符号位之外,其余各位求反,末位加1
补码转换为原码:
1.正数的原码与补码形式相同
2.负数除符号位以外,其余各位求反,末位加1
本题目中,-25 去除符号位,其实就是25,对应二进制为0001 1001 ,对其求反码为1110 0110 反码加1之后为1110 0111 ,对应十六进制为E7
编辑于 2017-08-26 11:48:40 回复(0)
负数的补码计算,写出原码,反码(原码除符号位不变取反 ),反码末尾加1
发表于 2017-06-03 11:17:56 回复(0)
B
发表于 2016-12-01 17:50:34 回复(0)
25=0001 1001
相反数的2进制为该数的补码,补码=反码+1,(当概念混淆时,想想0的相反数一定是0,那么0的补码一定也是00000000,那么要怎么做呢,肯定是先取反1111 1111,然后+1,必然又变成0000 0000,补码也可以用~表示)
-25=1110 0111=E7
编辑于 2016-11-14 21:10:03 回复(0)
求负数的反码,符号位不变,求补码时,符号位可变;
发表于 2016-04-01 11:31:02 回复(0)
1 机器数采用8位补码形式(含一位符号位),则十进制数 [25]原码=19H
[ -25]原码=99H
 [ -25]反码=0E6H 
[ -26]补码=0E7H (补码等于反码加1)
发表于 2015-08-22 22:16:05 回复(0)