题目:十进制数12345用32位补码整数和32位浮点数(IEEE754标准)表示的结果各是什么(用16进制表示)
十进制数12345的32位补码整数为:00003039H
十进制数12345的32位浮点数为:4640E400H
解析:
(1)十进制数12345的32位补码整数
首先列出12345的二进制形式:
(12345)10=(11000000111001)2(其中10、2为下标)
由于有32位,且小数点在32位后,前面用18个0补齐,有
(11000000111001)2(其中2为下标)=00003039H
(2)十进制数12345的32位浮点数
明确:IEEE754标准中32位定点机=数符1位+阶码(移码表示)8位+尾码(原码表示)23位,且默认尾数小数点前为1
如float型
如double型
由(1)可知
(12345)10=(11000000111001)2,即1.1000000111001*2^(1101B),那么尾数应为1 0000 0011 1001
阶码为移码表示,短浮点数中有[X]移=2^n-1+X,因此在此题中有13+127=140(140=128+8+4),即阶码为1000 1100
由于12345为正数,符号为正,因此数符为0
将所有连接起来则有浮点数二进制表示:0 10001100 1000 0001 1100 1000 0000000(尾数不足23位,则在尾数后面补0补足)
每4位转换为16进制,浮点数二进制表示:0100 0110 0100 0000 1110 0100 0000 0000
最后得结果:4640E400H