忙しい現代人の腰&肩のお悩み対策!

テキストに記載のあった以下の説明が理解できません。お手数ですがご教授頂ければ幸いでございます。

-記載-

10進法5.625を2進数で表すと、101.101となります。2進数の重み対応表を活用して、大きい重みから1を入れるべきか考えていきます。まず4<5.625なので重み4は1、4+2=>5.625なので重み2は0、・・・という要領です。

2進数      1 0 1 . 1 0 1
2進数の重み 4 2 1 . 05 0.25 0.125

-記載終-

質問:
(1)4+2=>5.625 ってなんですか?
(2)・・・の部分で対応表を使った全ての計算方法が分かりません。


割り算と掛け算を使う方法は分かります。

宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

2進数各桁の重みは


4 → 2^2
2 → 2^1
1 → 2^0
0.5 → 2^(-1)
0.25 → 2^(-2)
0.125 → 2^(-3)

を表しています。
※「^」は累乗

質問の

(1)4+2=>5.625 ってなんですか?

を見る前に、最初から考えましょう。
それぞれの桁に1が入ったら、その数字を加算しますから、
4<5.625
で、元の数字より小さいので、重み4の桁は1。
次に重み2の桁に1が入ると、4+2で6になります。これは、
4+2=>5.625
となり、元の数字より大きくなってしまうので間違い。
結局、重み2の桁は0が入ります。
次に重み1の桁に1が入ると、4+0+1で5になります。これは、
4+0+1<5.625
で、元の数字より小さいので、重み1の桁は1。
次に重み0.5の桁に1が入ると、4+0+1+0.5で5.5になります。これは、
4+0+1+0.5<5.625
で、元の数字より小さいので、重み0.5の桁は1。
次に重み0.25の桁に1が入ると、4+0+1+0.5+0.25で5.75になります。これは、
4+0+1+0.5+0.25>5.625
で、元の数字より大きくなってしまうので間違い。
結局、重み0.25の桁は0が入ります。
次に重み0.125の桁に1が入ると、4+0+1+0.5+0+0.125で5.625になります。これは、
4+0+1+0.5+0+0.125=5.625
になり、元の数字と同じになるのでここで終了。
各桁で入れた数字を並べると、
101.101
になります。

判りました?

最初は、5.625なんていう小数点以下がついた数字じゃなくて、5を2進数で表すとか11を2進数で表すことを試した方が理解が早いと思いますよ。
    • good
    • 0
この回答へのお礼

早々のご教授誠に有難うございました。大変助かりました。また、ご質問すると思いますが引き続き宜しくお願いします。

お礼日時:2011/05/20 16:29

(1)だけ。


4+2≧5.625のつもりでしょうね。4+2>5.625ではありません。
あまり見ない書き方ですが、あえて言えば一部のプログラミング言語でこういう書き方をするようです。それにしても>=の方が一般的だと思いますが…。
    • good
    • 0
この回答へのお礼

ご回答恐縮でございます。今後とも宜しくお願いします。

お礼日時:2011/05/20 16:32

問題を天秤で質量を量る問題に置き換えると判りやすいでしょう。



質量のわからない物体を一方の皿に載せ、もう一方の皿に分銅を載せて比較します。
ここで物体の質量を5.625g,用意した分銅は以下の通りだとします。
8g,4g,2g,1g,0.5g,0.25g,0.125g,0.0625g

先ずは、一番重い8gを載せると当然天秤は分銅を載せた皿が下に傾きます。(8g>5.625g)これではいけません。
8gの分銅を下ろし、4gの分銅を載せます。今度は天秤は物体の側が下に傾いたままになります。(4g<5.625g)4gでは足りないみたいです。
さらに分銅を増やします。2gの分銅を載せると分銅を載せた皿が下に傾きます。(4g+2g=6g>5.625g)どうやら2gの追加では大きすぎるようです。
2gの分銅を下ろし1gの分銅を追加します。物体の側が下になったままです。(4g+1g=5g<5.625g)まだ足りないみたいです。

この作業を繰り返して物体の質量と分銅の合計がつりあうまで作業を続けます。
    • good
    • 0
この回答へのお礼

分かり易くご説明頂き本当に有難うございました。引き続き宜しくお願いします。

お礼日時:2011/05/20 16:31

>(1)4+2=>5.625 ってなんですか?



(1)4+2>5.625 の誤記です。

>(2)・・・の部分で対応表を使った全ての計算方法が分かりません。

まず、重み表の4を見る。

5.625は4より大きいので、5.625は「4+何か」であり、2進数で「100+何か」である。

次に、重み表の2を見る。

5.625は4+2より小さいので、5.625は「4+2+何か」ではないので、2は捨てる。

次に、重み表の1を見る。

5.625は4+1より大きいので、5.625は「4+1+何か」であり、2進数で「100.000+001.000+何か」であるから「101.000+何か」である。

次に、重み表の0.5を見る。

5.625は4+1+0.5より大きいので、5.625は「4+1+0.5+何か」であり、2進数で「100.000+001.000+000.100+何か」であるから「101.100+何か」である。

次に、重み表の0.25を見る。

5.625は4+1+0.5+0.25より小さいので、5.625は「4+1+0.5+0.25+何か」ではないので、0.25は捨てる。

次に、重み表の0.125を見る。

5.625は4+1+0.5+0.125と等しいので、5.625は「4+1+0.5+0.125」であり、2進数で「100.000+001.000+000.100+000.001」であるから「101.101」である。

以上、計算終わり。
    • good
    • 0
この回答へのお礼

早々のご回答誠に有難うございました。引き続き宜しくお願いします。

お礼日時:2011/05/20 16:30

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q0.5時間などの時間計算の方法

30分を0.5時間と言うときがあります。1時間を1と考えてその半分なので0.5というのは理解できます。では0.12時間とか0.74時間は何分になるんでしょうか?計算方法がわかりません。どのように計算すればよいでしょうか?

Aベストアンサー

30分が0.5時間と分かっているのであれば、それを式に直してみましょう

 30分÷60分=0.5時間

これは分かりますよね
では、0.12時間は?という前にこの式を少し変えてみます

 30÷60 = 0.5
 30÷60×60 = 0.5×60 (=の両側に60分を掛けます)
 30×1 = 0.5×60 (左の÷60が×60と打ち消しあって1になります)
 30 = 0.5×60

では、0.12時間は何分になりますか?
上の式に当てはめると、

 □=0.12×60

あっさり答えられますよね
同様に 0.74時間も計算できますよ


まだ分からないというのであれば、分数にすると分かりやすいかもしれません
  30
 ── = 0.5
  60
(自分はこの表現の方が好きですね)
あとはいろいろと考えてみてください


人気Q&Aランキング

おすすめ情報