- ベストアンサー
数学、2進法の計算方法について
すみません、学校の宿題が全く解けないので、解き方と答えをわかる方、教えてくれませんか? (1)4進法で121である数を、(121)5であらわすとき、この数を2進法で示せ。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
4進数で121である数を10進数に直すとすれば、 1×4^2+2×4^1+1×4^0=25 ですね。10進数では25になります。 これは10進数での表記では各桁を10の何乗(桁数-1乗)で表した足し算なのと同じです(たとえば25=2×10^1+5×10^0)。 これを2進数に直すには、まず2の何乗で割れるかなんですが、2^4=16で割れて、余りが9。9は2^3=8で割れて、余りが1。1は2^2=4でも2^1=2でも割れなくて、あえて言えば2^0=1で割れて、答が1です。 従って、25=1×2^4+1×2^3+0×2^2+0×2^1+1×2^0と表せ、2進数では11001となります。 これを筆算で簡単にやるには以下のようにします。 2)25 (←筆算の割り算を逆さまに描いています)  ̄ ̄ 12 余り1 2)12  ̄ ̄ 6 余り0 2)6  ̄ ̄ 3 余り0 2)3  ̄ ̄ 1 余り1 これで最後の答と、そこまでの余りを逆順に書きだして11001です。 何進数が来ても、基本はこれで計算できます。計算して10進数に直して、また2進数に直す計算で面倒ですが、何進数でもできて、筆算も使えますので、確実です。 2で割るのを4で割るようにすれば、10進数の25が4進数で121になることが出ます。一応やっておきます。 4)25 (←2を4に変えます)  ̄ ̄ 6 余り1 4)6  ̄ ̄ 1 余り2 逆順に書きだして121です。検算してOKのようです。 ---------------------------------- ところで、4=2^2です。こういう関係が成り立つと、別の方法もあります。 (121)4=1×4^2+2×4^1+1×4^0 =1×2^4+0×2^3+2×2^2+0×2^1+1×2^0 ←1以上の掛け算をもうちょっと整理 =1×2^4+1×2^3+0×2^2+0×2^1+1×2^0 =(11001)2 もしかすると、10進数との間の筆算の方法もあるかもしれませんが、何せ九九は10進数で覚えていますので、あまり実用的ではないかもしれません。 ------------------------------------- P.S.(余談) コンピュータは2進数で計算していますが、人間がそのデータを見たりするときは16進数を使います。これは16=2^4という関係があるため、非常に相性が良いです。 自然数なら10進数に直したほうが見やすいのですが、2進数の割り算などで有限桁の小数点以下が出たりすると、16進数では全く誤差なく表せますが、10進数ですと循環小数になってしまい、有限桁で打ち切って誤差が出ることがよくあります。 1円の間違いも許されない経理用の実務プログラムなどでは、10進数で計算するか、2進数と10進数の間の誤差を考慮して補正したりしているようです。塵も積もれば山となるわけですので。
その他の回答 (1)
- bgm38489
- ベストアンサー率29% (633/2168)
>>4進法で121である数を、(121)5であらわすとき、 (121)4でしょ?何進法かは右下に小さい文字で表します。かけませんがね。 4進法の場合、百の位(?)は、4^2=16が何個あるかを表します。十進法で百の位は、10^2=100が何個あるのかを表すのと同様。つまり、この数の場合、十進法に直せば、(4^2)*1+(4^1)*2+1となるのです。それをまた、2進法に直す…これが本道ですが、実はこの場合、もっと簡単な手がある。 4進法の100は2進法では10000。4進法の20は2進法の200…じゃなjかった、1000。4進法の1は2進法でも1。すなわち、(11001)2。 4=2^2だから、こんな簡単にできるわけです。
お礼
なるほど・・・、久しく数学を行っていなかったので、とても勉強になります。 ちょっと復習してみようと思います。 ありがとうございました!!
お礼
とても分かりやすいです!! 助かります!! ありがとうございました!!