计算机组成原理,图中第二个画波浪线的地方,为什么它的模是2^(n+1)-1呢?
1个回答
展开全部
以n+1=4位字长整数X为例
当X≤0时,|X|+[X]补=10000=2^4,所以求补码时的模为2^(n+1)
|X|+[X]反=1111=2^4-1,所以求反码时的模比补码时少1,为2^(n+1)-1
但其实求反码很简单,不需要做减法运算
对于正数来说,反码就等于原码不变;
对于负数来说,反码的最高位符号位也为1,其余位对原码各位按位取反即可
还是以4位字长整数为例,假如原码为:1011
最高位符号位为1,为负数,则反码的最高位也为1,其余三位为011按位取反,即为100
所以1011的反码为:1100,满足1100+0011=1111的关系
ps. 补码也可以通过反码求解:正数的补码等于原码不变,负数的补码等于其反码+1
如1011的反码为1100,其补码为1100+1=1101,满足1101+0011=10000的关系
当X≤0时,|X|+[X]补=10000=2^4,所以求补码时的模为2^(n+1)
|X|+[X]反=1111=2^4-1,所以求反码时的模比补码时少1,为2^(n+1)-1
但其实求反码很简单,不需要做减法运算
对于正数来说,反码就等于原码不变;
对于负数来说,反码的最高位符号位也为1,其余位对原码各位按位取反即可
还是以4位字长整数为例,假如原码为:1011
最高位符号位为1,为负数,则反码的最高位也为1,其余三位为011按位取反,即为100
所以1011的反码为:1100,满足1100+0011=1111的关系
ps. 补码也可以通过反码求解:正数的补码等于原码不变,负数的补码等于其反码+1
如1011的反码为1100,其补码为1100+1=1101,满足1101+0011=10000的关系
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询