ビットや論理演算の問題は、記号を速く処理しようとすると符号や桁数の前提を見落とします。数の表現、演算、条件判定を別々に確認し、短い表や真理値表で検算する習慣を付けると、選択肢の違いを説明できるようになります。
この分野で身に付けること
- 二進数の各桁が表す重みを使って、十進数との変換ができる。
- 符号付き整数では、ビット数と表現方式を確認できる。
- and、or、notを具体例と真理値表で検算できる。
1. 基数変換は、各桁の重みを足し合わせる
二進数の右端は2の0乗、その左は2の1乗、その左は2の2乗を表します。1が立っている桁の重みを足せば十進数へ変換できます。十進数を二進数へ直すときは、2の何乗を使うかを大きい順に選び、残りを減らしていきます。
16進数は4ビットずつ対応させると扱いやすくなりますが、最初に問題が求める表記を確認します。桁数が固定か、先頭の0を省略できるか、符号を含むかで表現が変わるため、変換後の値だけでなくビット列の長さにも注目します。
2. 負の数は、符号方式を読んでから計算する
2の補数表現では、固定ビット数の中で負の数も扱えます。ある正の値のビットを反転し1を加える手順は、ビット数が決まって初めて意味を持ちます。途中で桁を増やしたり減らしたりすると、同じ見た目のビット列でも表す値が変わります。
問題では「8ビットの2の補数」のような前提を丸で囲みます。最上位ビットが1なら常に何の値かを即断せず、指定された表現方式で解釈します。範囲を問うときも、符号なしと符号付きでは使える値の範囲が異なります。
3. 論理式は、条件を一つずつ確かめる
andは両方が真のときだけ真、orは少なくとも一方が真なら真、notは真偽を反転します。複数の条件があるときは、式変形だけに頼らず、考えられる真偽の組合せを小さな表にすると、否定の範囲を読み違えにくくなります。
プログラムの条件式では、論理演算が値の範囲と結び付いて出題されます。「かつ」と「または」を日本語の感覚だけで読まず、各条件に具体的な数を入れて、どの値が通るかを確認してください。
用語・考え方の比較
| 問い | 確認する前提 | よくある誤り |
|---|---|---|
| 値を変換する | 基数、桁の重み、桁数 | 10進の桁の感覚で二進数を読む |
| 負数を読む | ビット数、符号方式 | 最上位ビットだけで値を決める |
| 条件を判定する | and/or/notの範囲 | 否定がどこまで掛かるかを省く |
例:8ビットの二進数 1111 0011 を符号なしで読む
ここでは符号なし整数として、1が立つ桁の重みを足します。
- 1111 0011の1は、128、64、32、16、2、1の桁にある。
- これらを足して128 + 64 + 32 + 16 + 2 + 1 = 243。
- 符号付き2の補数と指定されていれば、同じビット列でも別の手順で読む。
ここで確認:数値そのものの前に、符号なしという前提を確認することが答えの一部です。
確認してから、演習へ進む
間違えやすいポイント
- 二進数の桁を左から10、20、30のように読まない。
- 2の補数の計算で、指定外の桁を足したり捨てたりしない。
- notの対象を、隣の条件だけだと思い込まない。
自分で確かめる三つの手順
- 短い二進数を十進数へ直し、各桁の重みを横に書く。
- 論理式に四通りの真偽を入れ、結果を表にする。
- 計算の一行目に、ビット数と符号方式を書く。
この分野の演習問題
ガイドを読んだ後は、対応する6問で、理由を説明しながら理解を確かめましょう。 正答率は振り返りのための記録であり、本試験の評価点や合否を予測するものではありません。
範囲と参照資料
このページは本サイト独自の学習用解説です。試験範囲や用語の最終確認には、IPA:試験要綱・シラバス ↗を確認してください。制度や出題範囲は変更されることがあります。