基数変換が苦手で・・。

ゆみむさん  
(No.1)
ITパスポートの学習で、毎回壁にぶち当たっているのが、10進数、2進数などの基数変換の問題。
出題頻出も多くはないから、諦めて他のことを覚えようと思っていましたが、今後のことを考えると理解する必要性はあるな・・と。
基礎変換のコツなどありましたら、アドバイスをいただけたらと思います!
2022.10.09 21:53
オリザさん 
IP ブロンズマイスター
(No.2)
かつて自分が立てたスレでの説明ですが、これはどうですか?刺さりますか?
元スレ→https://www.itpassportsiken.com/s/bbs/4462.html


10進数は、数字を表すために0123456789の10種類の記号を使い、9まで行ったら次は位を上げます。
どういうことかというと、ひゃく、にひゃく、さんびゃく・・・きゅうひゃくと来たら、次はじゅうひゃくじゃないですよね。ひゃくで表すのはやめて せん で表します。
桁は、1の位、10の位、100の位・・・と、10倍ずつ大きくなっていく特徴があります。
10進数の3059という数字は何かというと、
1000の位が3こ、100の位が0こ、10の位が5こ、1の位が9こ
合計1000×3 + 100×0 + 10×5 + 1×9  これを皆さん頭の中で無意識にやっています。

2進数は、数字を表すために使う記号は0と1の2種類だけです。そして桁は、1の位、2の位、4の位  と倍倍になっていきます。
10進数や2進数とは、「数字を表現するのに使える記号の種類数」「桁が上がると何倍になるか」を表します。16進数でも同じです。

2進数の特徴に戻ります。2進数の10110という数字は
16の位が1こ、8の位が0こ、4の位が1こ、2の位が1こ、1の位が0こ
となります。これを10進数に直すと、  16×1 + 8×0 + 4×1 + 2×1 + 1×0 = 22

逆に10進数の数字を2進数に直すときは、2進数の位の足し算で表現することを考えます。
例えば43を2進数で表すことを考えると、43 = 32×1 + 16×0 + 8×1 + 4×0 + 2×1 + 1×1 
まとめると32の位が1、16の位が0、8の位が1、4の位が0、2の位が1、1の位が1 で101011 

小数点以下も同じ考えで、10進数だと10分の1の位、100分の1の位、1000分の1の位・・・となるところが、2進数だと2分の1(0.5)の位、4分の1(0.25)の位、8分の1(0.125)の位・・・となります。
10進数で0.625という小数を2進数に直すことを考えると、
0.625 = 0.5 + 0.125
よって、0.5の位が1、0.25の位が0、0.125の位が1  で0.101 となります
ちなみに小数の換算は、割り切れずに無限小数となることがあります。
2022.10.09 23:05

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop