小数 10 进制转二进制:
如 0.8, 转为 2 进制要:
0.8 × 2 = 1.6 → 1 0.6 × 2 = 1.2 → 1 0.2 × 2 = 0.4 → 0 0.4 × 2 = 0.8 → 0 0.8 × 2 = 1.6 → 1 ⋮ × 2 = ⋮ → ⋮ \begin{aligned} 0.8 \times 2=1.6\to1 \\ 0.6\times2=1.2\to1\\ 0.2\times2=0.4\to0\\ 0.4\times2=0.8\to0\\ 0.8\times 2=1.6\to1\\ \vdots\times 2=\vdots\to\vdots \end{aligned} 0.8×2=1.6→10.6×2=1.2→10.2×2=0.4→00.4×2=0.8→00.8×2=1.6→1⋮×2=⋮→⋮
所以 0.8 的最终结果就是 0.110011001100…
-
步骤就是:
- 一直乘以 2,将 1 提取出来,然后用小数再乘以 2,直到出现 1 时停止。 像 0.8 这种,得不到 1 的,就只能无限循环。
浮点数二进制表示
要表示浮点数,首先应该将其转化为二进制:
为了用计算机去表示上述的二进制浮点数,还需要将数表示成: a , a ∈ [ ( 1 ) 2 , ( 10 ) 2 ) a,a\in[(1)_2,(10)_2) a,a∈[(1)2,(10)2) 与 2 的 n n n 次幂相乘的形式,同时将 n n n 转为二进制:
然后,根据下面的格式,将结果“填下”,以 9 位为例: