応用情報暗記無料で始める

2進数とは?にしんすう

2進数は基数2の位取り記数法で、各桁の重みが2のべき乗になる。応用情報で問われるのは変換そのものより、その上に積む表現形式と演算である。負数は2の補数(ビット反転して1を加える)で表し、これによって減算を加算回路だけで実行でき、nビットの表現範囲は−2^(n−1)〜2^(n−1)−1と非対称になる。左シフトは2倍、右シフトは1/2に対応し、算術シフトは符号ビットを保つ点が論理シフトと異なる。16進数は4ビットをちょうど1桁に対応させるため、ビット列の可読な表記として使われる(MACアドレスやサブネットマスクを16進で読むのはこのため)。浮動小数点数では仮数部が有限桁の2進小数であることから、0.1のような10進の有限小数が循環小数になり誤差が生じる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では7回出題され、ほかに1問の解説で触れられています(2018年度〜2023年度)。

応用情報技術者試験の頻出用語/テクノロジ系

別名:バイナリ、binary

この語が出る過去問を解く →

背景

2進数を扱うのは表記の都合ではなく、回路を減らすためである。減算専用の回路を持たずに済ませたいという要求から2の補数が生まれ、ビット反転と加算だけで引き算が実現できるようになった(同時に+0と−0が分かれる問題も消える)。16進数も同じ発想で、4ビットを1桁に対応させると人が読めてビット境界も崩れないという妥協点である。浮動小数点数の誤差も、有限桁の2進小数で10進小数を表そうとする構造上の帰結であって実装の不備ではない。応用情報でこの分野が問われるのは、ダンプの読み取りや金額計算の不具合切り分けが、この表現形式の理解に直結するためである。

具体例

障害調査でメモリダンプを読むとき、16進の0x8000が16ビット符号付きとして−32768であることが即座に読めるかどうかで切り分けの速さが変わる。またループカウンタで金額を0.1ずつ加算した合計が期待値と一致しない不具合は、実装ミスではなく2進小数で0.1が正確に表せないことが原因で、この場合の対処はコードの修正ではなく整数(銭単位)または10進固定小数点型への変更になる。

試験での引っ掛け

2の補数の表現範囲が非対称である点(8ビットなら−128〜+127で、+128は表せない)と、最上位ビットを符号として使うため「1000 0000」が−128であって−0ではない点を落としやすい。算術右シフトと論理右シフトの取り違えも定番で、負数を2で割る意図なら算術シフトでなければならない。オーバーフローは、符号が同じ2数を加えて符号が変わったときに起きる、と条件で覚える。記述式では「なぜ2の補数を使うのか」を、減算を加算器で実現できる/0の表現が一つになる、のどちらかで30〜50字に言い切れるようにしておく。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では7回出題(2018年度〜2023年度)
  • 分野:テクノロジ系
  • 2の補数の表現範囲が非対称である点(8ビットなら−128〜+127で、+128は表せない)と、最上位ビットを符号として使うため「1000 0000」が−128であって−0ではない点を落としやすい。