第25講 n進数を10進数に翻訳する<
第1話 n進数を10進数に翻訳するには?
翻訳するには、まずn進数の構造を考える必要があります。
n進数の仕組みを考えるために、
改めて10進数の仕組みを考えてみましょう。
10進数とは、10ごとに位が上がる数です。
ですから、例えば7542なら
7452=7×1000+4×100+5×10+2
です。
皆さん、
1000=10×10×10×10=10の3乗
100 =10×10×10 =10の2乗
10 =10の1乗
ですから、
1 =10の0乗
と考えることがお分かりでしょうか。
(一般にnの0乗は1と定義します。)
この考えを認めると、
7452=7×10の3乗+4×10の2乗+5×10の1乗+2×10の0乗
と位を統一的に理解できます。
(0乗に?を思い浮かべている方でも、
7452=7×10の3乗+4×10の2乗+5×10+2
は認めていただけますね。)
2進数の101101は、実は次のようになっています。
101101=1×2の5乗+0×2の4乗+1×2の3乗+1×2の2乗+0×2の1乗+1×2の0乗です。
ですから、n進数の4312なら、
4312=4×nの3乗+3×nの2乗+1×nの1乗+2×nの0乗
です。
1=nの0乗という考え方に違和感を覚える方もいらっしゃるでしょうし、
実際の運用のことを考えれば
4312=4×nの3乗+3×nの2乗+1×n+2
で十分です。
n進数の4312を4312(n)と表現することにします。
ですから、
4312(5)=4×5の3乗+3×5の2乗+1×5+2
=4×125+3×25+1×5+2
=500+75+5+2
=582 (但し、右辺は10進数)
です。
尚、abcd(n)とき、
a<n、b<n,c<n、d<n
です。例えば、5進数なら
1(5)=1(10)
2(5)=2(10)
3(5)=3(10)
4(5)=4(10)
10(5)=5(10)
ですよね。5ごとに位が上がるのですから
ですから5進数の場合位の数字の最大の数は4です。
練習してみましょう。
110011(2)
12022102(3)
634251(7)
AFD542C(16)
(ただし、A=10,B=11,C=12,D=13,E=14,F=15です。
これは実際に16進数表示で使われているものです。)
第24講第6話へ 第2話
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る