首页 > 技术文章 > 计算机组成原理 - 浮点数和整数的精确转换

amazzzzzing 2020-10-31 17:31 原文

计算机组成原理 - 浮点数和整数的精确转换

IEEE 754 32bit和64bit浮点数为例。

总位数 数符位数 阶码位数 尾数位数 范围
32 1 8 23 \(1.0\times2^{-126},(2-2^{23})\times2^{127}\)
64 1 11 52 \(1.0\times2^{-1022},(2-2^{52})\times2^{1023})\)

记32bit浮点数 \(x=1.x_1x_2...x_{23}\times2^{i}, -126 \le i \le 127\) ,不考虑 \(i<0\) ,则
\(x=2^i+0.x_1x_2...x_{23}\times2^i \\=2^i+x_1x_2...x_i.x_{i+1}...x_{23} \\\in[2^i,2^{i+1}-1]\)
此时有 \(0\le i \le 23\)

故可以覆盖的连续整数为 \([1,2^{24}]\)。(0是否能精确表示?)

相应的,64bit浮点数为 \([1,2^{53}]\)

理解:浮点数能表示的整数由尾数的有效位数决定,尾数有一个隐藏位,因此有效位为尾数的位数+1。

推荐阅读