第2種情報処理平成12年春問05
問 題
2進数 10110101 の8けたの2の補数はどれか。ア 01001010
イ 01001011
ウ 10110100
エ 10110110
解 説
難易度 ★解答
イ 01001011
長 池「今日は基本的な問題をやってみよう。」
ユウト「あっ、2進数ですね。これ苦手です。」
長 池「普段生活している中で2進数を意識することってあまりないよね。
でも、コンピュータは人間と違って0と1が理解しやすいんだ。」
ユウト「そうですか。ちょっとコンピュータの気持ちになってみます。」
長 池「よし。ユウトがコンピュータになったところで、早速解いてみよう。」
ユウト「はい。(コンピュータにはなってませんが。。。)」
長 池「この問題のキーワードはズバリ『2の補数』だね。」
ユウト「2の補数ってなんですか?」
長 池「やっぱり、初めはそこでひっかかっちゃうんだよね。
でも、理解するのはその後でもいいから、まず2の補数の求め方は、
『反転させて1を加える』と覚えておこう。」
ユウト「(強引だなぁ~)それではやってみますね。
10110101
↓反転します。
01001010
↓1を加えます。
01001011
できました。答えは01001011ですか?」
長 池「そうだね。正解。選択肢でいうとイだね。
どうだい。簡単だろう。」
ユウト「はい。それは簡単ですが、2の補数って何か分からないんですが。」
長 池「知りたいかい?」
ユウト「はい。」
長 池「よし分かった。それじゃ簡単に説明するよ。
その前に、問題文の10110101と正解の01001011を足してごらん。」
ユウト「はい。
10110101
+01001011
 ̄ ̄ ̄ ̄
100000000
桁上がりして、100000000となりました。」
長 池「そうだね。8桁だと00000000だね。よく覚えておいて。」
◇補数 とは。。。
与えられた数を定められた数から引いた数のことです。
簡単に10進数を例にとって説明します。
2桁の10進数42(与えられた数)があります。
2桁の10進数42の9の補数は、99-42=57
2桁の10進数42の10の補数は、100-42=58
それでは、同じように8桁の2進数でやってみましょう。
8桁の2進数10110101の1の補数は、01001010
8桁の2進数10110101の2の補数は、01001011
多くのコンピュータで負数を2の補数で表しています。
それにより、減算を加算処理で行うことができるようになります。
長 池「2の補数の求め方は覚えたかな?」