- ベストアンサー
10進法からN進法への基礎変換方法とは?
- 10進法からN進法への基礎変換方法についてご説明致します。
- 10進法の数値をN進法で表す方法には、2進法を使った重み対応表を活用する方法があります。
- 重み対応表を使った計算方法によって、10進法の数値をN進法で正確に表現することができます。
- みんなの回答 (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進数で表すことを試した方が理解が早いと思いますよ。
その他の回答 (3)
- SortaNerd_
- ベストアンサー率59% (309/522)
(1)だけ。 4+2≧5.625のつもりでしょうね。4+2>5.625ではありません。 あまり見ない書き方ですが、あえて言えば一部のプログラミング言語でこういう書き方をするようです。それにしても>=の方が一般的だと思いますが…。
お礼
ご回答恐縮でございます。今後とも宜しくお願いします。
- rnakamra
- ベストアンサー率59% (761/1282)
問題を天秤で質量を量る問題に置き換えると判りやすいでしょう。 質量のわからない物体を一方の皿に載せ、もう一方の皿に分銅を載せて比較します。 ここで物体の質量を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)まだ足りないみたいです。 この作業を繰り返して物体の質量と分銅の合計がつりあうまで作業を続けます。
お礼
分かり易くご説明頂き本当に有難うございました。引き続き宜しくお願いします。
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19841)
>(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」である。 以上、計算終わり。
お礼
早々のご回答誠に有難うございました。引き続き宜しくお願いします。
お礼
早々のご教授誠に有難うございました。大変助かりました。また、ご質問すると思いますが引き続き宜しくお願いします。