基本情報技術者試験における数値表現は、コンピュータが0と1の2進数で整数や小数、負の数を処理する仕組みの基礎です。2進数・16進数の変換、負数を表す2の補数、小数点を表す浮動小数点数などを正確に理解することが重要です。

n進法と基数変換

コンピュータは電圧のON/OFFに対応する「0」と「1」の2進数で全てのデータを処理します。しかし、2進数は桁数が多くなり人間には扱いづらいため、4桁の2進数を1桁でスマートに表現できる16進数がよく使われます。試験では、10進数を2進数に直す「すだれ算(連除法)」や、その逆の重み付けによる計算など、各進数を相互に変換する「基数変換」が必須の計算問題として出題されます。
  • 2進数: 0と1で数値を表す。コンピュータの基本単位。
  • 16進数: 0〜9とA〜F(10〜15)を使い、2進数4桁を1桁にまとめて短く表す。
  • 基数変換: 10進数と2進数・16進数との間の相互変換の計算方法。

負の2進数(負数の表現、2の補数)

コンピュータの内部には、原理的に「足し算」を行う回路(加算器)しか存在しません。そのため、引き算を行うために、負の数を「足すと0になる特別な正の数」に変換して処理する仕組みが「2の補数」です。
具体的な表現では、データの先頭(最上位ビット)を符号(0なら正、1なら負)として扱い、負の数を作るときは「全ビットを反転させて1を足す」という手順を踏みます。これにより、コンピュータは引き算を意識せず、すべて足し算の回路だけで高速に処理できるようになります。
  • 符号付き整数: 最上位ビットを符号(0は正、1は負)とする。
  • 2の補数: 負の数を作るため、各ビットを反転(0と1を入れ替え)して1を加える方法。
  • メリット: 引き算を加算回路そのままウェイトなしで計算できる。

少数

コンピュータで小数を扱うアプローチには2種類あります。1つはあらかじめ小数点の位置を固定しておく「固定小数点数」で、主に整数の処理に使われます。
もう1つが、非常に大きな数値や微小な数値を効率よく表すための「浮動小数点数」です。これは数値を「符号」「指数(桁数)」「仮数(数値の並び)」の3つのパーツに分解して保持する方式で、試験では国際規格である「IEEE 754(単精度32ビットなど)」の仕組みや、数値を一定のルールに当てはめる「正規化」の手順がよく問われます。
  • 固定小数点数: 小数点の位置をあらかじめ固定して扱う方式。
  • 浮動小数点数: 「符号部」「指数部」「仮数部」の3つに分けて、大きな数や小さな数を効率よく表す方式。
  • 規格: IEEE 754による単精度(32ビット)や倍精度(64ビット)がある。