跳到正文

平成24年度 秋期 ITパスポート試験 問66

这道题的解析和你的作答记录。

問66
頻出度★★☆

2進数に変換したとき,有限小数で表現できる10進数はどれか。

出典 平成24年度 秋期 ITパスポート試験 問66
解説

問 66

  • 错误ア

    0.1 化为最简分数是 1/10 = 1/(2×5),分母中残留着 2 以外的质因数 5,因此在二进制中不是有限小数。用逐次乘 2 法转换:0.1×2=0.2(整数部分 0)、0.2×2=0.4(0)、0.4×2=0.8(0)、0.8×2=1.6(1)、0.6×2=1.2(1),小数部分又回到 0.2,此后便是同样计算的反复,于是成为 0.0001100110011…,即 0011 无限重复的循环小数。另外,计算机之所以无法用二进制浮点数精确表示十进制的 0.1 而产生误差,原因正是这一性质。

  • 错误イ

    0.2 化为最简分数是 1/5,分母不是 2 的幂而是 5,因此在二进制中不是有限小数。用逐次乘 2 法:0.2×2=0.4(整数部分 0)、0.4×2=0.8(0)、0.8×2=1.6(1)、0.6×2=1.2(1),进行到这里小数部分又回到最初的 0.2,于是成为 0.001100110011… 这样 0011 循环的无限小数。需要注意的是,即便在十进制中看起来是小数点后一位就结束的“整齐”的数,一旦基数换成 2,也未必能用有限位表示。

  • 错误ウ

    0.4 化为最简分数是 2/5,分母中残留着 5,因此在二进制中不是有限小数。用逐次乘 2 法:0.4×2=0.8(整数部分 0)、0.8×2=1.6(1)、0.6×2=1.2(1)、0.2×2=0.4(0),小数部分回到最初的 0.4,于是成为 0.011001100110… 这样的循环。也可以这样想:0.4 是 0.2 的 2 倍,也就是在二进制中只是把 0.2 的数位排列向左移了一位的值,所以只要 0.2 是循环的,0.4 就必然也是循环的。

  • エ

    正解 正确答案是 エ“0.5”。一个十进制小数转换成二进制后能否成为有限小数(在有限位上结束的小数),取决于把该值化为最简分数后的分母。二进制小数点后第 n 位表示 2 的 -n 次方(0.1 表示 1/2,0.01 表示 1/4,0.001 表示 1/8……),所以凡是能用有限位写出的数,必定是“整数 ÷ 2 的 n 次方”这种形式。反过来说,只有当最简分数的分母是 2 的幂(2、4、8、16……)时,在二进制中才是有限小数;如果分母中残留着 5 等 2 以外的质因数,就必然成为循环小数。0.5 化为最简分数是 1/2,分母正好是 2 的 1 次方,因此在二进制中只用 0.1 这一位就能表示,这就是有限小数。用实际的转换步骤(把小数部分乘以 2,从高位起依次取出整数部分的逐次乘 2 法)来验证也一样:0.5×2=1.0,整数部分立起 1,小数部分在这一步变为 0,计算随即结束。因此,各选项中转换为二进制数时能用有限小数表示的十进制数是 エ。

ここがポイント
  • 在二进制中成为有限小数的条件 — 把十进制小数化为最简分数后,只有分母是 2 的幂(2、4、8、16……)的数,在二进制中才是有限小数。分母中残留 5 等 2 以外质因数的 0.1、0.2、0.3、0.4 等,在二进制中全都是循环小数;只有像 0.5、0.25、0.75、0.125 这样能写成 1/2 各次幂之和的值,才能用有限位表示。
  • 十进制小数→二进制小数的基数转换(逐次乘 2 法)— 把小数部分乘以 2,将其整数部分(0 或 1)从小数点后第一位起依次写出,再对剩下的小数部分重复同样的操作。小数部分变为 0,就作为有限小数转换完成;如果同一个小数部分再次出现,从那里开始便是循环小数。还应一并记住,这种误差正是浮点运算中舍入误差的原因。
用語
解答問66エ
练这一题

作答记录