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

進数の数え方と変換手順は「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ビット)がある。