8進数を理解する

8進数は、一つの桁が8通りの状態を表す数の書き方です。普段の10進数と同じように桁の位置に意味がありますが、隣の桁へ移るときの倍率が8になります。数字の形だけを暗記せず、各桁に重みを付けると自分で変換や計算ができます。

この単元で学ぶこと

  • 8進数の数字と桁の重みを説明できる
  • 8進数と10進数の整数を相互変換できる
  • 桁数による表現の総数と最大値を区別できる
  • 小数部と桁上がりを重みから計算できる

本文解説

使う数字と桁上がり 8進数で使うのは0から7です。一つの桁に8種類あり、1桁の最大は7です。この次は10と書きます。この「10」は10進数の十という意味ではなく、8のまとまりが一つ、余りが0という意味です。

桁の重み 整数部分の右端から、1、8、64、512という重みを付けます。各桁の数字に重みを掛けて足した値が、10進数の値です。0が入っている桁も位置として残します。0を途中で詰めると、その左側の数字の重みが変わってしまいます。

10進数へ変換する例 157を8進数として読むと、1×64+5×8+7×1=111となります。変換の途中では各桁の掛け算を書き、最後に合計します。数字が何進数か分からないと同じ表記でも値が変わるため、問題文の基数指定を確認します。

10進整数から変換する例 変換したい非負整数を8で割り、商が0になるまで割り算を繰り返します。各回の余りは下位の桁から得られるので、最後に逆順へ並べます。83÷8=10余り3、10÷8=1余り2、1÷8=0余り1。余りを下から読むと123になる。 余りを上から読んでしまうと桁の順序が逆になります。

桁数と値の範囲 符号なしで8進数n桁を使うと、先頭の0を含めて8ⁿ通りを表せます。値は0から始まるため最大値は8ⁿ−1です。例えば2桁なら64通り、最大63。通り数と最大値は1だけ異なります。負の数の表し方や符号ビットが指定された場合には、別の規則を適用します。

小数の重み 小数点の右側は1/8、1/64、1/512と小さくなります。0.1は10進数の0.125、0.01は0.015625です。10.1なら整数部分の8と小数部分の0.125を足し、8.125になります。

加算と右端の0 7に1を加えると10になります。また桁数制限がない整数の右端へ0を付けると8倍になります。例えば1→10→100と移るたびに値は8倍です。先頭へ0を付ける0001は1と同じ値であり、付ける位置が重要です。

コンピューターの表現との関係 8=2³なので、8進数1桁は2進数3桁に対応する。整数部は右端から3ビットずつ区切る。 ただし、固定のビット数が指定された演算では、上の桁へはみ出した部分を保持できない場合があります。「桁数制限なし」と「8ビットに収める」といった条件を区別します。

図解

8進数:桁の重みで読む
各桁の数字×重みを足す。小数点と0の位置を保ったまま計算する。

重要ポイント

  • 使う記号は0から7。
  • 整数の重みは右から1、8、64。
  • 10進整数からの変換では割り算の余りを逆順に読む。
  • n桁の総数は8ⁿ、符号なし最大値は8ⁿ−1。
  • 小数点直後の重みは1/8。

間違えやすい点

  • 総数と最大値を混同しない。
  • 途中の0を詰めて桁の位置を変えない。
  • 整数部の先頭の0と右端に付ける0の違いに注意する。

用語解説

基数
隣の桁へ移るときの倍率。8進数の基数は8。
桁の重み
その位置が表す単位の大きさ。整数部は右から基数の0乗、1乗、2乗と続く。
基数変換
数の値を変えず、異なる基数の表記へ書き直すこと。
ビット
0と1の二つの状態のいずれかを表す単位。nビットは2ⁿ通りの組合せを持つ。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。