已知带符号整数用补码表示,变量x,y,z的机器数分别为FFFDH,FFDFH,7FFCH,下列结论中,正确的是( )。
A. 若x、y和z为无符号整数,则z<x<y
B. 若x、y和z为无符号整数,则x<y<z
C. 若x、y和z为带符号整数,则x<y<z
D. 若x、y和z为带符号整数,则y<x<z
解答:
已知x,y,z的机器...
用户登录可进行刷题及查看答案
已知x,y,z的机器数分别为FFFDH,FFDFH,7FFCH。
若x、y和z为无符号整数,则FFFDH>FFDFH>7FFCH,即x>y>z,A和B错误。
若x、y和z为带符号整数,则
方法一:转原码比较
[x]补=FFFDH=1111 1111 1111 1101B,[x]原=1000 0000 0000 0011B=-3<0。
[y]补=FFDFH=1111 1111 1101 1111B,[y]原=1000 0000 0010 0001B=-33<-3。
[z]补=7FFCH=0111 1111 1111 1100B>0。
推出y<x<0<z,所以y<x<z。
方法二:直接用补码进行比较
若两个带符号整数符号位相同,则两者中无符号整数越大的那个越大。
FFDFH和FFFDH最高位符号位为1,均为负数,显然有FFDFH<FFFDH。
7FFCH最高位符号位为0,为正数。
推出FFDFH<FFFDH<0<7FFCH,即y<x<0<z,所以y<x<z。
本题选D。
登录后提交答案
暂无评论,来抢沙发