第16講 10進数をn進数に翻訳するマクロ
第2話 n進数に翻訳するには?
実は、簡単な方法があります。
例えば、13を2進数に翻訳するには、
13÷2=6・・・1
6÷2 =3・・・0
3÷2 =1・・・1
1÷2 =0・・・1
を商が0になるまで繰り返して2で割り、
余りを逆順に並べた1101が答えになります。
つまり、13
(10)=1101(2)です。

4876を例にすると、
4876÷2=2438・・・0
2438÷2=1219・・・0
1219÷2= 609・・・1
609÷2 = 304・・・1
304÷2 = 152・・・0
152÷2 =  76・・・0
76÷2  =  38・・・0
38÷2  =  19・・・0
19÷2  =   9・・・1
9÷2   =   4・・・1
4÷2   =   2・・・0
2÷2   =   1・・・0
1÷2   =   0・・・1
ですから
4876(10)=1001100001100(2)
です。
4876を5進数に直すには、
4786÷5=957・・・1
977÷5 =195・・・2
195÷5 = 39・・・0
39÷5  =  7・・・4
7÷5   =  1・・・2
2÷5   =  0・・・2
から
4876(10)=224021(5)
です。


数が大きくなると大変ですから、
4876(10)=1001100001100(2)
の場合、表記は次のようにします。
k
では、みなさんプログラミングに挑戦しましょう。
もちろん、同様なことの繰り返しですから、
関数の再帰的使用が適しているでしょう。
では、皆さん10進数の10万未満の整数をランダムに発生させて、
それをn進数に翻訳するマクロを組んで下さい。
cv

第1話へ 第3話へ
004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ