春の応用処理技術者試験に向けて遅ればせながら参考書を読み始めたのですが

解決済みの質問

春の応用処理技術者試験に向けて遅ればせながら参考書を読み始めたのですが

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

「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) ではないのでしょうか…

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

投稿日時 - 2010-02-26 21:53:13

連想キーワード:

QNo.5708816

すぐに回答ほしいです

質問者が選んだベストアンサー

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

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

したがって、商はx1で余りがx2になる、ということです。

投稿日時 - 2010-02-26 22:04:18

お礼

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

投稿日時 - 2010-02-26 22:45:33

ANo.2

13人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

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

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

投稿日時 - 2010-02-26 22:04:06

あわせてチェックしたい
  • C++で、b[bit]の非負整数(例えば、unsigned long) ...
  • 整数、実数の導入 ...
  • 進数の小数点をどう変換するのか ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら