アプリ版:「スタンプのみでお礼する」機能のリリースについて

情報処理試験の問題がわかりません。助けてください。

ある整数値を、負数を2の補数で表現する2進表記法で表すと最下位2ビットは”11”であった。10進表記法のもとで、その整数値を4で割ったときの余りに関する記述として、正しいものはどれか。ここで、除算の商は、絶対値の端数が切り捨てられるものとする。

-
ア その整数値が正であれば3
イ その整数値が負であれば3
ウ その整数値が負であればー3
エ その整数値の正負にかかわらず0

解答 ア
-

情報処理試験の問題です。
どなたかわかりやすく、解説していただけないでしょうか?
よろしくお願い致します。

A 回答 (2件)

ある整数をXAB11とする。



<ある整数が正の場合>
X=0である。
 
10進数に直すと

0AB11 = 1*2^0 + 1*2^1 + X*2^2 + X*2^3
= 1 + 2 + 4A + 8B
= 3 + 4(A+2B)

となるので4で割ると3余る

<ある整数が負の場合>
X=1である。
 
10進数に直すと

1AB11 = -{2^4 - 3 - 4(A+2B)}
= -{4(4-A-2B) - 3} (AとBは1か0のどちらか)
= -{4の倍数 - 3}

となり4で割ると-1余る。
    • good
    • 0
この回答へのお礼

分かりやすく説明いただいてありがとうございました

分かりました

お礼日時:2010/09/18 09:12

この問題を理解するためには、2点が必要かと思います。


(1)2の補数を知っている
(2)2進数を10進数で考えられる

アのみ説明させて頂きますと。。。

(1)「正であれば」ということは、2の補数へ変換しなくても良いということなので11は変わりません。もし負の数であれば、全部0⇔1して+1という操作をするので、下2桁の11は01に変化してしまいます。
(2)10進数で123の数値を100で割ると、下2桁が23が余りとなります。簡単に言うと、123の中に100はいくつ入っていますか? そして残りはいくつですか?ということです。2進数の場合も同じで、2進数111を100で割ると余りは11になります。111の中に100はいくつ入っていますか? そして残りはいくつですか? たしかに11になります。10進数で考えると、7を4で割ると余りは3になります。つじつまが合うと思います。

こんな感じでいかがでしょうか?
    • good
    • 0
この回答へのお礼

分かりやすく説明いただいてありがとうございました

分かりました

お礼日時:2010/09/18 09:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!