読者です 読者をやめる 読者になる 読者になる

サーバー構築メモ

サーバーを構築したりWEBサイトを作ったりした際の個人的な備忘録です

情報処理 2進数と10進数の変換

2進数を10進数に、10進数を2進数に変換する方法を例を挙げて説明する。

2進数と10進数の相互変換

2進数「1011.101」を10進数に変換する

桁ごとに重み付けをする。

1×(2の3乗) + 0×(2の2乗) + 1×(2の1乗) + 1×(2の0乗) . 1×(2の-1乗) + 0×(2の-2乗) + 1×(2の-3乗)

1×8 + 0×4 + 1×2 + 1×1 . 1×1/2 + 0×1/4 + 1×1/8

8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = 11.625

よって、2進数「1011.101」を10進数で表現すると「11.625」になる。

10進数「11.625」を2進数に変換する

  • まず、整数部(11)と少数部(0.625)に分ける。
  • 整数部は、商がゼロになるまで2で割り続ける。そして余りを下から並べる。

11 ÷ 2 = 5 余り 1
5 ÷ 2 = 2 余り 1
2 ÷ 2 = 1 余り 0
1 ÷ 2 = 0 余り 1

下から並べると、1011

  • 小数部は、積の小数がゼロになるまで2で掛け続ける(積の小数だけを引き継ぐ)。そして積の整数を上から並べる。

0.625 × 2 = 1.25
0.25 × 2 = 0.5
0.5 × 2 = 1.0

上から並べると、101

よって、10進数「11.625」を2進数で表現すると「1011.101」になる。

ちなみに少数部の計算は、永久にループする場合もある。