第28講 n進数演算−−−加法その2
第8話 n進法足し算プログラム解説その7
プログラム主要部分再掲
Sub ts(a() As Integer, b() As Integer, c() As Integer)
Dim i As Integer, j As Integer
Dim d(14) As Integer, e(14) As Integer
Call sy(d())
Call sy(e())
Dim asz As Integer, bsz As Integer
asz = cp(d(), a()) '終わり記号nをなくし、サイズを取得
bsz = cp(e(), b()) '終わり記号nをなくし、サイズを取得
Dim max As Integer
max = asz
If bsz > max Then max = bsz
For i = 0 To max
c(i) = c(i) + d(i) + e(i)
c(i + 1) = c(i + 1) + Int(c(i) / n)
c(i) = c(i) Mod n
Next
If c(max + 1) > 0 Then c(max + 2) = n Else c(max + 1) = n
End Sub
いよいよ最終コーナーです。
i=7 のとき、
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
3
2
4
5
6
6
2
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
4
0
6
5
0
1
2
3
4
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
1
3
0
5
0
2
2
6
c(7 ) = c(7 ) + d(7 ) + e(7 )
= 1 + 0 + 0
= 1
c(7 + 1) = c(7 + 1) + Int(c(7 ) / 7)
= c(8 ) + Int(1 / 7)
= 0 + 0
= 0
すなわち、
c(8 ) = 0
c(7 ) = c(7 ) Mod 7
= 1 Mod 7
= 1
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
3
2
4
5
6
6
2
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
4
0
6
5
0
1
2
3
4
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
1
3
0
5
0
2
2
6
7の7乗の位が1になり、7の7乗の位にへの繰り上がりは 0 です。
i=8 のとき、
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
3
2
4
5
6
6
2
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
4
0
6
5
0
1
2
3
4
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
1
3
0
5
0
2
2
6
c(8 ) = c(8 ) + d(8 ) + e(8 )
= 0 + 0 + 4
= 4
c(8 + 1) = c(8 + 1) + Int(c(8 ) / 7)
= c(9 ) + Int(4 / 7)
= 0 + 0
= 0
すなわち、
c(9 ) = 0
c(8 ) = c(8 ) Mod 7
= 4 Mod 7
= 4
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
3
2
4
5
6
6
2
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
4
0
6
5
0
1
2
3
4
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
4
1
3
0
5
0
2
2
6
7の7乗の位が4になり、7の7乗の位にへの繰り上がりは 0 です。
この例ではmax = 8 ですから、 For i = 0 To max
For文は終了となります。
上の表をよくよく観察して下さい。
7進法の足し算が出来ていることが分かります。
まるで魔法のようではないですか。
さて、最後の1行
If c(max + 1) > 0 Then c(max + 2) = n Else c(max + 1) = n
を説明して、解説も終わりです。
第7話へ 第9話へ
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
Visual C++ によるC言語 入門 C++ 入門 基礎から応用まで
本サイトトップへ