32位短浮点数计算
下⾯是某种计算机的32位短浮点数格式
_____________
|0 |1 8|9 31|
|Ms| E | M |
其中,M 为⽤定点⼩数表⽰的尾数的绝对值,占 23 位;Ms 是尾数的符号位,占1 位; Ms 和 M ⼀起表⽰尾数。E 为⽤定点整数表⽰的阶码,占 8 位。若机器表⽰中取阶码的基数为 2 ,求采⽤下列五种不同编码⽅式时,浮点数 -123625E-3 (隐含基数为 10 )规格化后的机器码:
阶码⽤补码⽅式、尾数⽤原码⽅式时,为__(41)__;
阶码⽤补码⽅式、尾数⽤反码⽅式时,为__(42)__;
阶码⽤移码⽅式、尾数⽤原码⽅式时,为__(43)__;
阶码⽤移码⽅式、尾数⽤补码⽅式时,为__(44)__;浮点数的基数什么意思
阶码⽤移码⽅式、尾数⽤反码⽅式时,为__(45)__;
(41)、(42):A.110000111 00001000l10000000000000
B.100000111 00001000l0ll11111111111
C.110000111 11110000l0ll11111111111
D.100000111 111l0ll1010000000000000
(43)、(44):A.110000111 11110111010000000000000
B.100000111 00001000110000000000000
C.110000111 00001000110000000000000
D.100000111 00001000l0ll11111111111
(45):A.110000111 111l0ll1010000000000000
B.100000111 00001000110000000000000
C.100000111 11110000l0ll11111111111
D.110000111 00001000l0ll11111111111
浮点数-123625E-3 (隐含基数为 10 ) 代表 -123625 * 10^-3 = -123.625
将123.625(先不带上“-”号)转化为⼆进制表⽰为:1111011.101
将⼩数点⼀直移到最⾼位变成0.1111011101,⼀共向左移了7位,因为计算机⾥浮点数
的基数为2,所以1111011.101 = 0.1111011101 * 2^7
然后把1111011101拿出来在后⾯补零,⼀直补够到23位为⽌。这样就变成11110111010000000000000。
这个就是题中所说的M值。因为此浮点数为负数,所以这个浮点数的原码表⽰九应该是
100000111 11110111010000000000000。
剩下的就通过原码,补码,反码,移码之间的转换就可以求得。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论