Toolyard

数の表現とデータ:学習ガイド

重要なポイント

コンピュータは数を 2 進で保持し、人間は 8 進や 16 進で読む。進数の変換、値に必要なビット数の計算、符号付きの値の読み取りには、いずれも基数のべき乗である位取りを使う。

  • 各桁には基数のべき乗の重みがある。2 進では右から 1、2、4、8、16 と続く。
  • 16 進の 1 桁は 4 ビット、8 進の 1 桁は 3 ビットに当たるので、ビットをまとめれば直接変換できる。
  • n 個の項目に異なる符号を与えるには ⌈log₂ n⌉ ビット必要である。n ビットは 2ⁿ 通りの値を表せる。
  • 8 ビットの 2 の補数では先頭の 1 は負を意味する。値は符号なしの値から 256 を引いたものである。

主な式

  • value = Σ dᵢ × bⁱ
  • bits needed = ⌈log₂ n⌉
  • n bits hold 2ⁿ values
  • two’s complement: value = unsigned − 2ⁿ when the top bit is 1

例題

2 進の 101101 は 32 + 8 + 4 + 1 = 45 である。16 進の 2F は 2 × 16 + 15 = 47 である。8 進の 157 は 64 + 40 + 7 = 111 である。200 個の項目に異なる符号を与えるには 8 ビット必要で、2⁷ = 128 では足りず 2⁸ = 256 なら足りる。8 ビットのパターン 11110110 は符号なしで 246 なので、2 の補数では 246 − 256 = −10 である。パターン 10110111 には 1 のビットが 6 個ある。

よくある間違い

  • 最も右の桁の重みを 1 とせず、2 進の位取りを左から読むこと。
  • ビット数を切り下げること。200 個の項目には 7 ではなく 8 ビット必要である。
  • 2 の補数で先頭が 1 のパターンを正と扱うこと。

練習

このトピックの練習問題で力試しをしましょう:数の表現とデータ

このガイドで使うツール

その他のガイド