假定带符号整数采用补码表示,若int型变量x和y的机器数分别是FFFF FFDFH和0000 0041H,则x、y的值以及x-y的机器数分别是( )。
A. x=-65,y=41,x-y的机器数溢出
B. x=-33,y=65,x-y的机器数为FFFFFF9DH
C. x=-33,y=65,x-y的机器数为FFFFFF9EH
D. x=-65,y=41,x-y的机器数为FFFFFF96H
[x]补=FFFF FFDFH=1...
用户登录可进行刷题及查看答案
[x]补=FFFF FFDFH=1111 1111 1111 1111 1111 1111 1101 1111B,
[x]原=1000 0000 0000 0000 0000 0000 0010 0001B= −(2^5+1) =-33。
[y]补=0000 0041H,[y]原=0000 0041H=4×16+1=65。
关于计算x-y。
方法一:十进制计算
用十进制计算x-y,再转二进制补码。
x-y=-33-65=-98,[x-y]原=1000 0000 0000 0000 0000 0000 0110 0010B,[x-y]补=1111 1111 1111 1111 1111 1111 1001 1110B=FFFF FF9EH。
方法二:二进制计算
二进制计算x-y补码。
[y]补=0000 0041H=0000 0000 0000 0000 0000 0000 0100 0001B,[-y]补=1111 1111 1111 1111 1111 1111 1011 1111B。
[x-y]补=[x]补+[-y]补=1111 1111 1111 1111 1111 1111 1101 1111B+1111 1111 1111 1111 1111 1111 1011 1111B=(1)1111 1111 1111 1111 1111 1111 1001 1110B=FFFF FF9EH。
本题选C。
登录后提交答案
暂无评论,来抢沙发