float型数据常用IEEE754单精度浮点格式表示。假设两个float型变量x和y分别存放在32位寄存器f1和f2中,若(f1)=CC90 0000H,(f2)=B0C0 0000H,则x和y之间的关系为( )。
A. x<y且符号相同
B. x<y且符号不同
C. x>y且符号相同
D. x>y且符号不同
x = (-1)*2^26 * 1.001
y = (-1)*2^(-30) * 1.100
参考答案:A
解析:(f1)...
用户登录可进行刷题及查看答案
解析:(f1)和(f2)对应的二进制分别是(110011001001……)2 和(101100001100……)2,根据
IEEE754 浮点数标准,可知(f1)的数符为 1,阶码为 10011001,尾数为 1.001,而(f2)的数符为 1,阶码为 01100001,尾数为 1.1,则可知两数均为负数,符号相同,B、D 排除,(f1)的绝对值为 1.001×226,(f2)的绝对值为 1.1×2-30,则(f1)的绝对值比(f2)的绝对值大,而符号为负,真值大小相反,即(f1)的真值比(f2)的真值小,即 x<y,选 A。
此题还有更为简便的算法,(f1)与(f2)的前 4 位为 1100 与 1011,可以看出两数均为负数,
而阶码用移码表示,两数的阶码头三位分别为 100 和 011,可知(f1)的阶码大于(f2)的阶码,
又因为是 IEEE754 规格化的数,尾数部分均为 1.xxx,则阶码大的数,真值的绝对值必然大,
可知(f1)真值的绝对值大于(f2)真值的绝对值,因为都为负数,则(f1)<(f2),即 x<y。
登录后提交答案