sugulogの日記

プログラミングと進数。2進数、8進数、16進数をそれぞれ10進数に変換してみよう。

スポンサードリンク

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

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

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

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

 

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

  •  進数

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

その為このブログを読むことで、進数について理解できるのはもちろん、2進数などの進数を10進数に変換する方法も理解できます。

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

 

今回は、

  • 進数

  • 10進数

  • 2進数

  • 8進数

  • 16進数

  • bit

  • byte

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

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

・進数

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

パソコンの世界では2進数という進数の数字を用いて様々なものを表現しています

そのためパソコンは2進数や2の乗数である8進数や16進数で物事を表すのが得意です。

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

では実際に進数を見ていきましょう。

・10進数(Decimal Number)

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

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

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

普段使用している数の数え方が10進数にあたります。

また10進数で「1101」という数字を位ごとに表現した場合、以下のように表現することができます。

f:id:sugulog:20210102141419p:plain

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

・2進数(Binary Number)

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

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

例)0→1→10→11→100→101→110→111→1000...

また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)

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

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

例)...6→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)

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

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

例)...8→9→A→B...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

bitとは情報量の最小単位で2つの選択肢から1つを特定する情報の量のことです。

binary digitと呼ばれ2進数の各位を1bitとして表します。

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

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

・byte

byteとは情報量の単位の1つで8ビットのことです。

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

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

 

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

進数について理解でき、2進数などの進数を10進数に変換する方法も理解できましたか??

少し難しい概念ではありますがいざという時のために、今回のブログを機に知識として蓄えておきましょう。

今回のToDo

2進数、8進数、16進数の「1110」をそれぞれ10進数に変換してみましょう(≧∀≦)/

 

最後に!!

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

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

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