dポイントプレゼントキャンペーン実施中!

春の応用処理技術者試験に向けて遅ればせながら参考書を読み始めたのですが、早速つまづきました。

「2けたの2進数x1x2が表す整数をxとする。2進数x2x1が表す整数を、xの式で表したものはどれか。ここで、int(r)は非負の実数rの小数点以下を切り捨てた整数を表す。」

という問題があったのですが、解説がよく理解できません。

【解説】
「2進数x1x2が表す整数は次のようになります。
x = x1 × 2^1 + x2 × 2^0
これを変形すると、次のようになります。
x = 2(x1) + x2 …(1)
一方2進数x2x1が表す整数をx'とすると、同様に次のようになります。
x' = 2x2 + x1 …(2)
(1)より
x2 = x - 2x1
(2)に代入して
x' = 2x -4(x1) + x1
x' = 2x -3(x1)
ところでxの定義から、xを2で割った商はx1となります。←ここです
つまり x1 = int(x/2) となっています。
したがって答えは 2x - 3int(x/2) となります。」

xを2で割った商は、何故 x1 なんですか?
x = 2(x1) + x2 を2で割った商は x1 + (x2/2) ではないのでしょうか…

よくわからないので、どなたかご教授ください!
宜しくお願いします。

A 回答 (2件)

x1とx2は二進数のある桁の数字ですから、0か1かのどちらかです。



ここで「xを2で割った商」と書かれているのは、あくまで整数の範囲で割り算を行った場合の話なので、x2はもう2では割れません。

したがって、商はx1で余りがx2になる、ということです。
    • good
    • 0
この回答へのお礼

お二方共、ありがとうございました。
先に回答をいただけた方には申し訳ないのですが、hiro001001さんの回答がとてもわかりやすかったのでベストアンサーにさせていただきます。

お礼日時:2010/02/26 22:45

>xを2で割った商は、何故 x1 なんですか?


>x = 2(x1) + x2 を2で割った商は x1 + (x2/2) ではないのでしょうか…

商はx1 で あまりがx2 と表記すべきですね
x2/2 は、あまりを2で割った、小数点以下の値になります
    • good
    • 0

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