某机器字长8位,已知(X)补=7FH,Y=-1,则进行(X)补-(Y)补运算后,符合标志位SF,溢出标志位OF分别为多少
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/06 08:21:05
某机器字长8位,已知(X)补=7FH,Y=-1,则进行(X)补-(Y)补运算后,符合标志位SF,溢出标志位OF分别为多少?
首先说一下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.
再问: 请问ASCII的00111001B化成十进制是多少啊
可以看到,决定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.
再问: 请问ASCII的00111001B化成十进制是多少啊
某机器字长8位,已知(X)补=7FH,Y=-1,则进行(X)补-(Y)补运算后,符合标志位SF,溢出标志位OF分别为多少
某机器字长为8位,已知[X]补=7FH,Y=-1,则进行[X]补-[Y]补运算后,符号标志位SF、溢出标志位OF分别为多
已知十进制数x= -41,y= +101,设机器数字长8位(含1位符号位),计算机[x+y]补和[x-y]补,注意采用变
8位补码运算:x=-11010b,y=+10001b,求[x-y]补,并判断是否溢出
补码加减运算已知[X]补=10110100,[Y]补=01101010,则[X-Y]补的结果是A.溢出 B.011010
设机器字长为8位(含1位符号位),用补码运算规则计算:A=11/64,B=-15/32,求A+B
-13/64,29/128 2.设机器字长为8位(含1位符号位),用补码运算规则计算下列各题.(1)A=9/64,B=-
已知x=-0.01111,y=+0.00111.求x补,2x补,0.5x补,4y补,0.25y补
用变形补码计算[X]补+[Y]补=?[X]补-[Y]补=?并指出是否有溢出,是正溢还是负溢?
试题:设机器字长为8位(含1位符号位),用补码运算规则计算:A=19/32,B= --17/128,求:A -- B
执行指令CMP AL,BL后,各标志位分别为:CF=0,OF=1,SF=0.若AL和BL均为带符号数的补码,则两数的大小
设机器字长为8位,最高位为符号位,用双高位法判别下列数据在运算时是否有溢出.