2進数とは?にしんすう
2進数とは、0と1の2種類の数字だけで値を表す記数法で、右の桁から順に1・2・4・8・16…と、2の累乗の重みを持つ。2進数の1011は、8+0+2+1で10進数の11になる。nビット(n桁)で表せる符号なしの値は0〜2のn乗−1で、8ビットなら0〜255の256通り。基本情報では、10進数との相互の変換に加えて、その上に積む知識が問われる。負の数を表す2の補数(各ビットを反転して1を足す)、左に1桁ずらすと2倍・右に1桁ずらすと2分の1になるシフト演算、4ビットを1桁にまとめて読む16進数がそれに当たる。科目Bでは、「0」と「1」の文字列を整数に直す関数や、8ビットの値に足すと0になる値(2の補数)を返す関数など、2進数のしくみをそのままプログラムにした問題が出る。
最終更新:2026-10-10
この語が出る過去問を解く →背景
コンピュータの部品は、電気が流れているか流れていないか、電圧が高いか低いかの2つの状態を区別するのが最も確実で、雑音が入っても読み間違えにくい。10段階の電圧を見分けるより、2段階のほうが安く正確に作れる。そのため、数も文字も画像も、内部ではすべて0と1の並びに直して記憶・計算している。
具体例
スマホの設定画面に出る IP アドレス「192.168.1.10」は、4つの数がそれぞれ8ビットの2進数で、192は2進数で11000000(128+64)と表される。科目Bの関数convDecimalは「10010」を受け取って18を返す。左の桁から読み、今までの値を2倍して今の桁を足すと、1 → 2 → 4 → 9 → 18 と求まる(1×16+1×2=18 と同じ結果)。
試験での引っ掛け
10進数の0.1は2進数ではちょうど表せない(0.000110011…と無限に続く)。有限の桁で表せるのは、0.5・0.25・0.125…(2分の1を繰り返した値)を足し合わせて作れる値だけで、0.75(0.5+0.25=2進数の0.11)は表せるが、0.1はどう足し合わせても作れない。そのため、「0.1は2進数の有限小数で表せる」という選択肢は誤り。また、8ビットの最大値は256ではなく255(256は0を含めた個数)。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 基本情報技術者試験 午前 問1(IPA)
数値を2進数で格納するレジスタがある。このレジスタに正の整数xを設定した後,“レジスタの値を2ビット左にシフトして,xを加える”操作を行うと,レジスタの値はxの…
正解:5
要点:nビット左シフトは2のn乗倍。4x+x=5x
2進数を1ビット左へシフトすると値は2倍になるので、2ビット左シフトは2の2乗すなわち4倍を意味する。シフト後のレジスタには4xが入っており、そこに元の値xを加えるので4x+x=5xとなる。左シフトによる乗算と加算を組み合わせると、任意の定数倍をシフトと加算だけで実現できるという考え方の基本例である。
出典:平成28年度 春期 基本情報技術者試験 午前 問34(IPA)解説で登場
IPアドレス192.168.57.123/22が属するネットワークのブロードキャストアドレスはどれか。
正解:192.168.59.255
要点:/22はブロック幅4で56〜59が同一ネットワークになる
プレフィックス長22は、第3オクテットの上位6ビットまでがネットワーク部であることを意味する。57を2進数にすると00111001で、下位2ビットを0にしたネットワークアドレスの第3オクテットは56となる。ホスト部を全て1にすると第3オクテットは59、第4オクテットは255となり、ブロードキャストアドレスは192.168.59.255である。
出典:平成29年度 秋期 基本情報技術者試験 午前 問1(IPA)
数値を2進数で表すレジスタがある。このレジスタに格納されている正の整数xを10倍にする操作はどれか。ここで、桁あふれは起こらないものとする。
正解:xを2ビット左にシフトした値にxを加算し、更に1ビット左にシフトする。
要点:nビット左シフトは2のn乗倍。10倍は(4倍+元)を2倍にする
左シフト1回は2倍に相当するので、nビット左シフトは2のn乗倍を意味する。10倍は 10x = (4x + x) × 2 と分解でき、2ビットシフトで4倍にしてから元のxを足して5倍、さらに1ビットシフトで2倍すれば10倍になる。シフトと加算の組合せで乗算を置き換える典型パターンである。
出典:平成29年度 秋期 基本情報技術者試験 午前 問35(IPA)解説で登場
次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして、適切なものはどれか。 IPアドレス:10.170.70.19 サブネッ…
正解:10.170.70.16
要点:ネットワークアドレスはIPとサブネットマスクのビット論理積
サブネットマスク255.255.255.240は上位28ビットがネットワーク部で、第4オクテットの上位4ビットまでが該当する。第4オクテットの19は2進数で00010011なので、下位4ビットを0にすると00010000=16になる。したがってネットワークアドレスは第4オクテットが16の値となる(このサブネットは16〜31、ブロードキャストは31)。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。