ちょっと情報概論1

進数表現
言うたら、機械の中で使われている2進数の考え方と、
2進数をわかりやすくした16進数の考え方です。


Javaでもよく使う(かもしれない)ので、考え方だけは必ず覚えておきましょう。

通常の生活で使われているのが10進数と言う考え方。

* 1の位が数字が10になると、10の位の数字が1つ増える。
* 10の位の数字が10になると、100の位の数が1つ増える。

元の位の数字が「10」になると、次の桁を1つ増やすので、
「10」進数といいます。

じゃあ、「2」進数はというと、
元の位の数字が「2」になると、次の桁を1つ増やします。

で、「16」進数となれば、
元の位の数字が「16」になると、次の桁を1つ増やします。


<具体例を書いてみる>

10進数を考えて見ましょう。

1の位は
「0」「1」「2」「3」「4」「5」「6」「7」「8」「9」
10個の数字から出来ております。

で、10の位はと言えば、
「0」「1」「2」「3」「4」「5」「6」「7」「8」「9」
やはり、10個の数字から出来ております。

1の位が「9」「1」を足してしまうと、「10」となります。
が、1の位では収まらなくなってしまうので

「1」が10の位、
「0」が1 の位に収納されます。

つまり、(「1」×10)+(「0」×1)となります。
※ ×10は「10の位」×1は「1の位」です。

例) 「841」を上記のように表すと、
(「8」×100)+(「4」×10)+(「1」×1)
となります。

さて、
この「100」とか「10」とかの数字を別の表記に変更してみます。

100 = 10²  
10  = 10¹  
1  = 10⁰

つまり「841」なら、
(「8」×10²)+(「4」×10¹)+(「1」×10⁰)
となります。

まとめると、
1の位は10⁰
10の位は10¹
100の位は10²
1000の位は10³
以下桁数ごとに続く・・・。


それ以外の進数表現も
この何乗という考え方をそのまま取り入れます。


<2進数の場合>

全ての桁で
「0」「1」
の2つしか使いません。

なので、
1桁だと、「0」「1」の2種類しか表現できません。

2桁になると、また「0」「1」の表現が増えて、4種類に。

1の位は2⁰
2の位は2¹
4の位は2²
8の位は2³
以下桁数ごとに続く・・・。

129.jpg

例)
「27」を2進数で表記する
「11011」
(「1」×2⁴)+(「1」×2³)+(「0」×2²)+(「1」×2¹)+(「1」×2⁰)



<16進数の場合>

考え方は一緒です。
表記は「0」~「9」「A」~「F」までです。
※「10」~「15」は桁数が溢れてしまうので、「A」~「F」となります。

例)「72」を16進数で表記する

「48」
(「4」×16¹)+(「8」×16⁰)


<まとめ>

[進数表現のキモ]
「その桁の数」×「何進数~(何桁目)」+「その下の桁の数」×「何進数~(何桁目)」・・・

コレが把握できれば、何進数が来ても問題なくなります。



(おまけ:2進数vs16進数)
格納記事


続きを読む

プロフィール

koukou263

Author:koukou263
ニコニコに動画をうpしてた人
【ニコニコ動画】自作ニコ割
【ニコニコ動画】iM@Sうpリスト

最新記事
最新コメント
カテゴリ
月別アーカイブ
リンク
最新トラックバック
検索フォーム
QRコード
QRコード