第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)
の場合、表記は次のようにします。
では、みなさんプログラミングに挑戦しましょう。
もちろん、同様なことの繰り返しですから、
関数の再帰的使用が適しているでしょう。
では、皆さん10進数の10万未満の整数をランダムに発生させて、
それをn進数に翻訳するマクロを組んで下さい。
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入門へ
本サイトトップへ