FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

2の補数を学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

科目Aソフトウェア標準
QUESTION 73

8ビットの2の補数で表す符号付き整数に、120と20を加算する。演算は下位8ビットだけを残し、あふれた桁は捨てるものとする。保存される値を符号付き10進数として解釈した結果と、符号付き整数のオーバーフローの有無はどれか。

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:イ −116、オーバーフローあり

この表示だけでは、回答数や正答率は変わりません。

解説

数学的な和は140ですが、8ビット符号付き整数の範囲は−128〜127なので表現できません。下位8ビットは10001100です。これを2の補数として解釈すると、符号なし値140から256を引いた−116となります。正数同士の加算が負数になり、オーバーフローしています。

ア

140は数学的な和ですが、8ビットの符号付き整数として保存できる上限127を超えています。

イ

保存ビット列10001100を符号付きで読むと140 − 256 = −116で、範囲超過も起きています。

ウ

−12を表すのは11110100です。今回の下位8ビットとは一致しません。

エ

116は01110100で、120と20の加算結果の下位8ビットではありません。

関連知識

同じ10001100でも、符号なし8ビットなら140、符号付き2の補数なら−116です。ビット列だけでなく型と解釈を確認します。実際の言語で範囲超過時にどうなるかは、言語仕様や型によって異なります。

間違えやすいポイント

符号付きオーバーフローを、9ビット目の桁上がりの有無だけで判定しないこと。今回の和140は符号なし8ビットには収まりますが、符号付きでは範囲外です。

覚え方

保存するビット数と、符号付きの範囲を先に確認。

実務での意味

組込み機器やバイナリデータを扱う際に、型の幅と符号をそろえ、範囲外の入力や計算結果を検出します。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、ソフトウェアの基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。