ご存じの通り、10進数は0~9の10個の数字を使い、9の次は
桁が一つ上がり10になります。
同様に8進数は、0~7の8個の数字を使い、7の次は桁が
一つ上がり10になります。
同様の考えで、16進数は16個の数字を使い数字を表すの
ですが、9以降の数字を表す為に、A~Fのアルファベットで
代用します。
従って10進数の「10」は、8進数の「12」、16進数の「A」に該当します。
8進数-10進数-16進数対応表
. 8進数:0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
10進数:0 1 2 3 4 5 6 7 . 8 . 9 10 11 12 13 14 15 16
16進数:0 1 2 3 4 5 6 7 . 8 . 9 A B .C D E F 10
次に、10進数の2345を分解する手順は以下のように
2,000+300+40+5(10進数)
=2x10^3+3x10^2+4x10^1+5x10^0
=(2x10x10x10)+(3x10x10)+(4x10)+(5x1)
となります。
※10^3 は10の3乗を意味します。
※10^0は1です。
これを元に、
8進数の2345を計算(10進数に変換)する場合
2,000+300+40+5(8進数)
=2x8^3+3x8^2+4x8^1+5x8^0
=(2x8x8x8)+(3x8x8)+(4x8)+(5x1)
=1,024+192+32+5(10進数)
=1,253(10進数)
と計算出来ます。
16進数も同様に
2,000+300+40+5(16進数)
=2x16^3+3x16^2+4x16^1+5x16^0
=(2x16x16x16)+(3x16x16)+(4x16)+(5x1)
=8,192+768+64+5(10進数)
=9,029(10進数)
と計算出来ます。
また、16進数のABCを変換する場合は
A00+B0+C
=Ax16^2+Bx16^1+Cx16^0
=10x16^2+11x16^1+12x16^0
=(10x16x16)+(11x16)+(12x1)
=2,560+176+12
=2,748
となります。
上記の内容から、
8進数の「777」は10進数の「511」
16進数の「DeadBeef」は、10進数で「3,735,928,559」となります。
長文かつ質問の趣旨とずれていたらごめんなさい。
お礼
大変参考になりました。 どうもありがとうございました。