问题
问答题
已知两个实数x=-68,y=-8.25,它们在C语言中定义为float型变量,分别存放在寄存器A和B中。另外,还有两个寄存器C和D。A、B、C、D都是32位的寄存器。请问(要求用十六进制表示二进制序列):
寄存器A和B中的内容分别是什么
答案
参考答案:float型变量在计算机中都被表示成IEEE754单精度格式。
x=-68=-(1000100)2=-1.0001×26,符号位为1,阶码127+6=128+5=(10000101)2,尾数为1.0001,所以小数部分为:00010000000000000000000,合起来整个浮点数表示为:11000010100010000000000000000000,写成十六进制为:C2880000H。
y=-8.25=-(1000.01)2=-(1000.01)2=-1.00001×23,符号位为1,阶码为127+3=128+2=(10000010)2,尾数为1.00001,所以小数部分为:00001000000000000000000,合起来整个浮点数表示为:11000001000001000000000000000000,写成十六进制为C1040000H。因此,寄存器A和B的内容分别为C2880000H、C1040000H。