C言語の基礎(基数変換)

スポンサーリンク
C言語

私たちは日常生活では10進数を使うが、コンピュータでは電気信号のONとOFF、1と0でデータを表現するので2進数が便利である。ただし、2進数では桁が多すぎることから、実際には8進数や16進数が多用される。

異なる基数間で数値を変換してみよう。

2進数の101を10進数に変換

101 = 1 × 22 + 0 × 21 + 1 × 20
101 = 1 × 4 + 0 × 2 + 1 × 1 = 5

8進数の123を10進数に変換

123 = 1 × 82 + 2 × 81 + 3 × 80
123 = 1 × 64 + 2 × 8 + 3 × 1 = 83

16進数の1FDを10進数に変換

1FD = 1 × 162 + 15 × 161 + 13 × 160
1FD = 1 × 256 + 15 × 16 + 13 × 1 = 509

10進数を2進数に変換

10進数の57を2進数に変換する。2で割ることを繰り返して、剰余を逆に並べると「111001」が得られる。

10進数を8進数に変換

10進数の57を8進数に変換する。0になるまで8で割って、剰余を逆に並べると「71」が得られる。

10進数を16進数に変換

10進数の57を16進数に変換する。0になるまで16で割って、剰余を逆に並べると「39」が得られる。

(参考文献)新・明解C言語 入門編 第2版 柴田望洋著(SBクリエイティブ)

基礎C言語 (株)アンク著(インプレス )

コメント

タイトルとURLをコピーしました