2の補数とは?
2の補数とは、2進数で負の数を表現する方式。各ビットを反転(1の補数)した値に1を加えて求める。加算回路だけで減算を実現できるため、CPUの演算回路を単純化できる。
基本情報技術者試験の過去問では3回出題されています(2018年度〜2026年度)。
にのほすう
2の補数の意味
2進数で負の数を表現する方式。各ビットを反転(1の補数)した値に1を加えて求める。加算回路だけで減算を実現できるため、CPUの演算回路を単純化できる。
2の補数の具体例
4ビットで「0011」(3)の2の補数は「1101」。「7-3」は「7+(-3の2の補数表現)」として加算だけで計算できる。8ビットなら表現できる範囲は-128〜127になる。
2の補数は試験でどう引っ掛けられる?
nビットの2の補数表現で表せる最小値は-2^(n-1)、最大値は2^(n-1)-1で、正負の範囲が非対称になる点が問われやすい。
2の補数と関連する用語
2の補数が出た過去問
ある整数値を、負数を2の補数で表現する2進表記法で表すと最下位2ビットは“11”であった。10進表記法の下で、その整数値を4で割ったときの余りに関する記述として…
正解:その整数値が正ならば3
要点:下位2ビットは4で割った余りを表す。負数は商の丸め方で余りが変わる
2進表記の下位2ビットは、その値を4で割った剰余(0〜3)を表す。下位2ビットが11なら、値は数学的に4の倍数より3大きい数、つまり正の数なら4で割った余りは3になる。一方、負数を2の補数で表すと、例えば-1は全ビットが1で下位2ビットも11になるが、商を絶対値で切り捨てる規則では-1÷4の商は0、余りは-1となる。負数の場合の余りは一定の値には定まらず、正の数のときだけ余りが3と断言できる。
出典:平成30年度 春期 基本情報技術者試験 午前 問1(IPA)負数を2の補数で表すとき、8ビットの2進正数nに対し-nを求める式はどれか。ここで、+は加算を表し、ORはビットごとの論理和、XORはビットごとの排他的論理和を…
正解:(n XOR 11111111) + 00000001
要点:2の補数は全ビット反転+1。反転はオール1とのXOR
2の補数は「全ビットを反転してから1を加える」手順で求める。全ビット反転は、すべてのビットが1の値(8ビットなら11111111)との排他的論理和で実現できる。したがって n を反転したうえで 00000001 を加える式が -n を表す。論理和では特定ビットを1に固定するだけで反転はできない。
出典:令和4年度 s 基本情報技術者試験 kamokuA 問1(IPA)次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数complementは、引数として渡された8ビット型の値xについて、xに加算すると00000…
正解:x ▽ 11111111
要点:2の補数は全ビット反転+1、反転は1とのXOR
加算して0になる値とは2の補数のことで、求め方は「全ビットを反転して1を加える」です。プログラムは最後に 00000001 を加えているので、空欄では x の全ビット反転を作ればよいことになります。排他的論理和は 1 との演算でビットが反転するので、11111111 との排他的論理和が全ビット反転にあたります。よって x ▽ 11111111 が正解です。
出典:令和8年度 (公開問題) 基本情報技術者試験 kamokuB 問2(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。