作业帮 > 数学 > 作业

将十进制数30.25转换为32位的ieee形式的浮点数

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/13 19:17:22
将十进制数30.25转换为32位的ieee形式的浮点数
得区分是单精度还是双精度.
30.25 = 30.25*(2^2)/(2^2) = 30.25*4/(2^2)=121/(2^2)
=1111001B/(2^2)
=1111001B*(2^(-2))
=1.111001B*(2^(4))
= 1.11100100000000000000000 B *(2^4)
=+1.11100100000000000000000B*(2^(4))
=+ 1.11100100000000000000000B*(2^(4))
= S d e
按照IEEE-754标准规定,单精度浮点数用4字节存储,双精度使用8字节存储,分为三个部分:符号位S、阶E和尾数D.阶即指数,尾数即有效小数位数.单精度格式阶占8位/双精度占11位,尾数为归一化数据去首位1结果,单精度点24位/双精度为52位,符号位1位,换算公式为Data = S * 2^(E) * (D).
1)单精度
32位字的第0位存放小数D的最低有效位LSB(the least significant bit),第22位存放小数D的最高有效位MSB(the most significant bit);第23位存放偏置指数的最低有效位LSB,第30位存放偏置指数的最高有效位MSB;最高位,第31位存放符号s.
D= 1.11100100000000000000000B去首位 = 11100100000000000000000
E=e+Bias=e+((2^7)-1)=4+127=131
S D E =+1.11100100000000000000000B*(2^(131))
S=0 D=11100100000000000000000(归一化去1) E=131=10000011B=10000011
最后
SED=0 10000011 11100100000000000000000
=0 10000011 11100100000000000000000
=01000001111100100000000000000000
=0100 0001 1111 0010 0000 0000 0000 0000
=0x 4 1 F 2 0 0 0 0
2)双精度
IEEE双精度浮点格式共64位,占2个连续32位字,包含三个构成字段:52位的小数f,11位的偏置指数e,1位的符号位s.将这2个连续的32位字整体作为一个64位的字,进行重新编号.其中0:51位包含52位的小数f;52:62位包含11位的偏置指数e;而最高位,第63位包含符号位s.
D= 1.1110010000000000000000000000000000000000000000000000B去首位 = 1110010000000000000000000000000000000000000000000000
E=e+Bias=e+((2^10)-1)=4+1023=1027
S D E =+1.1110010000000000000000000000000000000000000000000000B*(2^(1027))
S=0 D=1110010000000000000000000000000000000000000000000000(归一化去1) E=1027=10000000011B=10000000011
SED=0 10000000011 1110010000000000000000000000000000000000000000000000
=0 10000000011 1110010000000000000000000000000000000000000000000000
=0100 0000 0011 1110 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
=0100 0000 0011 1110 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
=0x 4 0 3 E 4 0 0 0 0 0 0 0 0 0 0 0
=0x 403E4000 00000000