某机器字长为8位,已知[X]补=7FH,Y=-1,则进行[X]补-[Y]补运算后,符号标志位SF、溢出标志位OF分别为多少
题目
某机器字长为8位,已知[X]补=7FH,Y=-1,则进行[X]补-[Y]补运算后,符号标志位SF、溢出标志位OF分别为多少
有四个选项,A、1,0;B、0,1;C、0,0;D1,1.但是我算出来选A.请问您觉得呢,给出具体计算过程
答案
首先说一下OF:溢出标志位.当算术运算的结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0.
可以看到,决定OF是0还是1的关键在于“计算结果是否溢出”.
再来看“带符号数运算时的溢出判断”:
1.如果次高位向最高位有进位(或借位),而最高位向上无进位(借位),结果溢出.
2.反过来,如果次高位向最高位无进位(或借位),而最高位向上有进位(或借位),结果也溢出
理解这些概念后,再来看本题.SF=1应该没有问题吧,着重讲讲OF
[X]补=7FH=0111 1111B
[Y]原=1000 0001B [Y]补=1111 1111B
[X]补-[Y]补=01111111-11111111=1000 0000
其中,次高位1-1=0,向最高位无借位,最高位0-1=1,向上有借位,所以结果溢出.OF=1
换种方法验证一下:
根据补码的减法规则:[X]补-[Y]补=[X]补+[-Y]补
[X]补=0111 1111B
-Y=1 [-Y]补=0000 0001B
[X]补+[-Y]补=01111111+00000001=10000000
其中,次高位1+0=0(加上前一位的进位),向最高位有进位,最高位0+0=1(加上次高位的进位),向上无进位,所以结果溢出.OF=1
还可以通过十进制验算:
[X]补=0111 1111B=127D
[Y]补=1111 1111B=255D
[X]补-[Y]补=127-255=-128
这时,我们其实是把这两个补码当做了原码来计算,而8位二进制数原码所能表示的范围是:
-127~127
-128这个计算结果是超出范围的,发生溢出,故而OF=1.
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 修一条公路,上半月修了全长的40%,下半月比上半月多修了800米,正好修完.这条公路全长多少米?
- 由小到大排列的一组有理数X1,X2,X3,X4,X5,其中每个数都小于-1,
- DNA的复制试验时,保留全部DNA复制体系成分,但以DNA聚合酶II代替DNA连接酶
- 安全这个单词的(n)(adj)(adv)三种形式
- 溶解度
- 25℃时,醋酸与醋酸钠的混合溶液PH=6则醋酸根浓度-钠离子浓度等于
- 求good的替换词
- 修路队修一段公路,第一天修了50米,第二天修了60米,两天正好修了这段公路的1/20.这段公路全长是多少米?
- 将硬币重复抛掷两次,X为正面朝上的次数,Y为负面朝上的次数,X>Y,记为Z=1,X<=Y记为记为Z=-1,求Z的期望是
- 在克隆羊培育过程中,将雄羊的体细胞核移入雌羊的卵细胞中.产生该克隆羊的方式及该克隆羊发育成熟后所分泌的性激素依次是( ) A.无性生殖.雄性激素 B.无性生殖.雌性激素 C.有性生
热门考点