sugulogの日記

2、8、10、16?進数についてまとめてみた!!

スポンサードリンク

f:id:sugulog:20210101204538p:plain
こんにちは、すぐるです!

sugulogをお読みいただきありがとうございます!!

このブログは、「 過去の無知な自分に向けてわかりやすく説明するなら?? 」を基準に書いています。

少しでもお役に立てれば幸いです。

 

今回は、進数についてまとめてみたということで

  •  進数

について簡単に解説します!!

その為このブログを読むことで、進数について理解できるのはもちろん、2進数などの概念についても知識を深めることができます。

是非最後までご愛読ください。

 

今回は、

  • 進数とは

  • 10進数

  • 2進数

  • 8進数

  • 16進数

  • bitとは

  • byteとは

の順で解説していきます。

では早速、みていきましょう!!

・進数とは

予め定められたN種類の記号(数字)を並べることによって数を表す方法のこと。

PCの世界では2進数という進数で全てを表現します。

そのためPCは2進数や2の乗数である8進数や16進数で計算する方が得意です。

それに対し人間の世界では一般的に10進数という進数を利用します。

では1番始めに馴染み深い10進数からみていきましょう!!

・10進数(Decimal Number)

0~9までの10個の数字を使って数を表現する進数のこと。

数は0、1、2、3、4、5、6、7、8、9と順に増えていき、次に10と位が繰り上がります。

例)9→10→11...19→20...99→100...

普段使用している数の数え方のことですね!!

10進数では例えば、『1101』という数字を位ごとに以下のように表現することができます。

f:id:sugulog:20210102141419p:plain

これを数式で表すと、1×10³+1×10²+0×10¹+1×10⁰=1101です。

このように表現される進数のことを10進数と呼びます!!

・2進数(Binary Number)

0、1のみの2個の数字を使って数を表現する進数のこと。

数は0、1と順に増えていき、次に10と位が繰り上がります。

例)0→1→10→11→100...

2進数では例えば、『1101』という数字を位ごとに以下のように表現することができます。

f:id:sugulog:20210102141534p:plain

これを数式で表すと、1×2³+1×2²+0×2¹+1×2⁰=13です。

この13という数字は2進数を10進数で表した時の数字です。

逆に10進数を2進数に変換する場合は10進数の数字を2で割るを繰り返し、割り切れなくなるまで割った時のそれぞれの余りを逆から並べた数字です。

f:id:sugulog:20210102144218p:plain

逆から並べると1101ですね!!

・8進数(Octal Number)

0~7までの8個の数字を使って数を表現する進数のこと。

数は0、1、2、3、4、5、6、7と順に増えていき、次に10と位が繰り上がります。

例)7→10→11...17→20...77→100...

8進数では例えば、『1101』という数字を位ごとに以下のように表現することができます。

f:id:sugulog:20210102145243p:plain

これを数式で表すと、1×8³+1×8²+0×8¹+1×8⁰=577です。

この577という数字は8進数を10進数で表した時の数字です。

逆に10進数を8進数に変換する場合は10進数の数字を8で割るを繰り返し、割り切れなくなるまで割った時のそれぞれの余りを逆から並べた数字です。

f:id:sugulog:20210102145750p:plain

こちらも逆から並べると1101ですね!!

・16進数(Hexadecimal Numbre)

0~9までの10個の数字とA~Fまでの6個のアルファベットを使って数を表現する進数のこと。

数は0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、Fと順に増えていき、次に10と位が繰り上がります。

例)9→A...F→10...1F→20...99→A0...A9...AF→B0...FF→100...

16進数では例えば、『1101』という数字を位ごとに以下のように表現することができます。

f:id:sugulog:20210102151419p:plain

これを数式で表すと、1×16³+1×16²+0×16¹+1×16⁰=4353です。

この4353という数字は16進数を10進数で表した時の数字です。

因みに10進数ではAを10Bを11Cを12Dを13Eを14Fを15として計算します

例)AFBCを10進数で表すと10×16³+15×16²+11×16¹+12×16⁰=44988です。

逆に10進数を16進数に変換する場合は10進数の数字を16で割るを繰り返し、割り切れなくなるまで割った時のそれぞれの余りを逆から並べた数字です。

f:id:sugulog:20210102152513p:plain

こちらも逆から並べると1101ですね!!

因みに44988を16で割ってみると以下のようになります。

f:id:sugulog:20210102153103p:plain

この余りをアルファベットに当てはめるとCBFAです。

そして逆から読むとAFBCになりますね!!

またそれぞれどの進数で表しているかを区別するために1001b、1001o、1001d、1001hというように、それぞれの英語読みの頭文字を数字の後ろにつけることもあります。

・bitとは

情報量の最小単位で2つの選択肢から1つを特定する情報の量のこと。binary digitと呼ばれ、2進数の1桁として表される。

2進数の1の位を1bit、10の位を2bit、100の位を3bit...というように扱います。

因みに情報をすべてビット列に置き換えて扱うことをデジタルといいます。

・byteとは

情報量の単位の1つで8ビットのことで、2進数で8桁の数を表すことができる。

256種類(28乗)の異なる状態を表現することができます。

このバイトをもとにキロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト、エクサバイトといった単位もあります。

 

以上、今回のブログでした。

進数について理解でき、2進数などの概念についても知識を深めることができましたか??

少し難しい概念ではありますがPCはこの進数を元に処理されていますので、少しずつでも理解を深めていきましょう(^_^)/

 

最後に!!

今後も、「 過去の無知な自分に向けてわかりやすく説明するなら?? 」を基準にブログを書いていきます。

少しでも気になった方はお試しでもいいので1度、読者登録お願いします!

またTwitterでもプログラミングに関することを中心に情報を発信してます。

宜しければそちらのフォローもお願いします。

最後までご愛読いただきありがとうございました!!