第20講 n進数演算−−−引き算
第1話 引き算の規則
n進数の引き算は、
10進数と同じく、小さい方から大きい方を引いたときには、
負の数になります。
足し算のときは、配列a()とb()のデータを守るために、
コピーするための配列を用意しませんでしたが、
今回は、配列
Dim d(100) As Integr,e(10000) As Integer

を用意して、大きい方をdに小さい方をeに代入するようにして、
もし、b(i)の方が大きいときには、
先頭に−を付けることにします。
ですから、これからは大きい方から小さい方を引くという条件下で考えます。
この仮定のものとでは、
2進数の引き算規則は
10−1=1
1−0=0
1−1=0
0−0=0
のみとなります。
3進数なら
10−1=2
等です。

例えば、2進数の引き算
101(2)−11(2)
を計算してみますと、
p

o
では、もう少し複雑な例を出しましょう。
101101(2)−11011(2)
i
1−1から0です。
u
0から引けないので10−1=1
1つ上の位は0になっています。
ym
すでに1は0になっていますから、
0−0で0となります。
t
1−1から0です。
r
最後は10−1=1
です。
以上で計算終了です。
次は,5進数をやってみましょう。
321404(5)−43021(5)
e
4−1から3です。
en
0から2は引きないので、上から1つ借りてきて
10(5)−2(5)=(1×5+0)−2=3です。
b
1つ貸したので3−0=3です。
vc
1から3は引けないので、上から1つ借りてきて
11(5)−3(5)=(1×5+1)−3=3です。
x
1つ下に貸してしまったので、
1−4ですがこれも引けないので、
上から1つ借りてきて、
11(5)−4(5)=(1×5+1)−4=2です。
z
最後は1つ貸してしまったので3→2となっています。



それでは、皆さん
次の引き算を実行してください。
@ 101011(2)−11101(2)
A 21021(3)−201(3)
B 430213(5)−34201(5)
C 6543210(7)−5646634(7)
D 325647(8)−23667(8)


プログラミングにおいては、敵を知ることが必要です。
手で計算して、対戦相手の本質を知って、
初めて攻略できます。



第19講第8話へ 第2話へ
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入門へ
本サイトトップへ