10進整数を2進数表現で表すやりかたは中学くらいで習うのかな? (365)10 という表記を「10進数で表した365」ということにする。 これを16進数表現するときには, 16)365 … 13→D 1桁目 ~~~~~~~~ 16) 22 … 6→6 2桁目 ~~~~~~~~ 16) 1 … 1→1 3桁目 ~~~~~~~~ 0 として,(16D)16 となるわけ。 では,10進小数をn進数表現するのは?これは,案外教えない。 (0.986)10 を16進表現するときは, 0.986 × 16 ~~~~~~~~~~~~~~ 15.776 整数部15を小数点以下1桁目とする。 0.776 小数部を次に取り出して16を掛ける。 × 16 ~~~~~~~~~~~~~~ 12.416 整数部12が小数点以下2桁目。 0.416 × 16 ~~~~~~~~~~~~~~ 6.656 整数部6が小数点以下3桁目。 0.656 × 16 ~~~~~~~~~~~~~~ 10.496 整数部10が小数点以下4桁目。 0.496 × 16 ~~~~~~~~~~~~~~ 7.936 整数部7が小数点以下5桁目。 0.936 × 16 ~~~~~~~~~~~~~~ 14.976 整数部14が小数点以下6桁目。 以下同じように繰り返して, (0.FC6A7EF9DB22D0E…)16 となる訳ですね。 非常に長い循環小数です。 それで,有限の長さを持つコンピュータのメモリには近似値しか 入らないということ。