IEEE-754例题
单双精度浮点数的定义规则:1.选择题将16进制整数转换为IEEE-754标准的单精度浮点数题目给的数字是16进制45100000H首先要知道符号阶码尾数SEM(1+8+23)①先转换为二进制0100 0101 0001 0000 0000 0000 0000②求符号阶码及尾数s就是0表示正数E是10001010 也就是138M就是001③根据公式求二进制真值已知公式:真值 = (-1)^s × 1
单双精度浮点数的定义规则:
1.选择题将16进制整数转换为IEEE-754标准的单精度浮点数
题目给的数字是16进制45100000H
首先要知道符号阶码尾数SEM(1+8+23)
①先转换为二进制
0100 0101 0001 0000 0000 0000 0000
②求符号阶码及尾数
s就是0表示正数
E是10001010 也就是138
M就是001
③根据公式求二进制真值
已知公式:
真值 =(−1)s×1.M×2e (-1)^s × 1.M × 2^e(−1)s×1.M×2e
又 e = E - 127(127是单精度浮点数的偏移量)
即,真值 =(−1)s×1.M×2E−127 (-1)^s × 1.M × 2^{E-127}(−1)s×1.M×2E−127
所以,45100000H真值 =
(−1)0×1.001×2138−127=1.001×211 (-1)^0 × 1.001 × 2^{138-127} = 1.001 × 2^{11} (−1)0×1.001×2138−127=1.001×211
④以上科学计数法小数部分是二进制的,因此需要化成十进制
1.001十分位表示2−1百分位2−2千分位2−3 1.001 十分位表示2^{-1} 百分位2^{-2} 千分位2^{-3} 1.001十分位表示2−1百分位2−2千分位2−3
1.001化成十进制就是1×20+0×2−1+0×2−2+1×2−3=1.1251 × 2^0 + 0 × 2^{-1} + 0 × 2^{-2} + 1 × 2^{-3} = 1.1251×20+0×2−1+0×2−2+1×2−3=1.125
最终结果就是(1.125)10×211(1.125)_{10} × 2^{11}(1.125)10×211
2.实例:
讲解一下0.085
转换过程如下图:
1.3610×2−4 1.36_{10} × 2^{-4} 1.3610×2−4
小数部分0.36转换二进制过程:
验证0.36正确性
0.35999977588654
3.浮点数X的754标准存储格式是
(41360000)16 (41360000)_{16} (41360000)16
求其十进制的值是多少?
①先转换为二进制
0100 0001 01 0011 0110 0000 0000 0000 0000
②求SEM
S = 0
E = 10000010
M = 011 0110
真值=(−1)s×1.M×2e=1.0110110×2130−127=1011.011=11.375 真值 = (-1)^s × 1.M × 2^e = 1.011 0110 × 2_{130 - 127} = 1011.011 = 11.375 真值=(−1)s×1.M×2e=1.0110110×2130−127=1011.011=11.375
4.将数
(20.59375)10 (20.59375)_{10} (20.59375)10
IEEE-754标准,32bit
①转二进制
20.59375 -> 10100.10011
求解过程如下:
②规格化
(10100.10011)2−>1.010010011×24 (10100.10011)_{2} -> 1.010010011 × 2^4 (10100.10011)2−>1.010010011×24
③
真值=(−1)s×1.M×2e 真值 = (-1)^s × 1.M × 2^e 真值=(−1)s×1.M×2e
e = 4 = E - 127
得出E = 131 化为二进制得:10000011
④SEM
S = 0
E = 10000011
M = 010010011
0 10000011 01001001100000000000000
转换为16进制:(41A4C000)16 转换为16进制: (41A4C000)_{16 } 转换为16进制:(41A4C000)16
5.浮点运算:x = 0.5, y = - 0.375,点数为8位尾数,6位阶码,采用变形补码,求(x + y ) 的浮点数和。
更多推荐

所有评论(0)