☆☆2進数同士のかけ算を行ってみよう 


      

        ☆☆2進数同士のかけ算を行ってみよう☆☆




マックス 「よし、よし」


朗らかに微笑むマックス。


マックス 「2進数同士のたし算につづいて


2進数同士のひき算も理解したぁぁぁぁぁ」


老人 「順調じゃのう。マックスよ。」


マックス 「なんか思ったより2進数は素直だな。ははは。


足し算、引き算もふつうにできる・・・


となれば かけ算 割り算も


普通にかけたり、割ったりできるとみた。


理解できるのは時間の問題だー。


ふふふはぁーっはっはぁー\(^^)/」


老人 「わしもここまで簡単とはおもわなんだ。


よかったのう。マックス。これでますます


コンピュータの言葉がわかるようになるぞ。(^^)/


わしも元気がでてきたぞい。」


うれしそうに微笑む老人。


マックス 「さあ2進数同士のかけ算 やってみる!


まずは これこれ👇

2進数と10進数の対応表を用意する。


人間の世界 の     コンピュータの世界の

10進数表示     2進数表示

0ーーーーーーーーーーーーーーー 0

1ーーーーーーーーーーーーーーー 1

2ーーーーーーーーーーーーーーー 10

3ーーーーーーーーーーーーーーー 11

4 ーーーーーーーーーーーーーーー 100

5 ーーーーーーーーーーーーーーー 101

6 ーーーーーーーーーーーーーーー 110

7 ーーーーーーーーーーーーーーー 111

8ーーーーーーーーーーーーーーー 1000

9 ーーーーーーーーーーーーーーー 1001

10 ーーーーーーーーーーーーーーー 1010

11 ーーーーーーーーーーーーーーー 1011

12 ーーーーーーーーーーーーーーー1100

13 ーーーーーーーーーーーーーーー1101

14 ーーーーーーーーーーーーーーー1110

15 ーーーーーーーーーーーーーーー1111

16 ーーーーーーーーーーーーーーー10000(5桁)

17 ーーーーーーーーーーーーーーー 10001(5桁)

18 ーーーーーーーーーーーーーーー10010(5桁)

19 ーーーーーーーーーーーーーーー10011(5桁)

20 ーーーーーーーーーーーーーーー10100(5桁)

21 ーーーーーーーーーーーーーーー10101(5桁)

22 ーーーーーーーーーーーーーーー10110(5桁)

23 ーーーーーーーーーーーーーーー10111(5桁)

24 ーーーーーーーーーーーーーーー 11000(5桁)

25 ーーーーーーーーーーーーーーー 11001(5桁)

26 ーーーーーーーーーーーーーーー 11010(5桁)

27 ーーーーーーーーーーーーーーー 11011(5桁)

38 ーーーーーーーーーーーーーーー 11100(5桁)

29 ーーーーーーーーーーーーーーー 11101(5桁)

30 ーーーーーーーーーーーーーーー 11110(5桁)

31 ーーーーーーーーーーーーーーー 11111 (5桁)

32 ーーーーーーーーーーーーーー 100000(6桁)

33 ーーーーーーーーーーーーーー 100001(6桁)

34ーーーーーーーーーーーーーーー100010

35ーーーーーーーーーーーーーーー100011

36ーーーーーーーーーーーーーーー100100

37ーーーーーーーーーーーーーーー100101

38ーーーーーーーーーーーーーーー100110

39ーーーーーーーーーーーーーーー100111

          


40ーーーーーーーーーーーー101000                 

41ーーーーーーーーーーーーーーー101001

42ーーーーーーーーーーーーーーー101010

43ーーーーーーーーーーーーーーー101011

・                 ・

・                 ・

・                 ・

62 ーーーーーーーーーーーーーーー 111110(6桁)

63 ーーーーーーーーーーーーーーー 111111(6桁)

64 ーーーーーーーーーーーーーーー 1000000(7桁)

65 ーーーーーーーーーーーーーーー 1000001(7桁)

・                  ・

・                  ・

・                  ・

126 ーーーーーーーーーーーーーーー 1111110(7桁)

127 ーーーーーーーーーーーーーーー1111111 (7桁)

128 ーーーーーーーーーーーーーーー10000000(8桁)

・                 ・

・                 ・

・                 ・

253 ーーーーーーーーーーーーーーー11111101(8桁)

254 ーーーーーーーーーーーーーーー11111110(8桁)

255 ーーーーーーーーーーーーーーー11111111(8桁)

256 ーーーーーーーーーーーーーーー100000000(9桁)

257 ーーーーーーーーーーーーーーー100000001(9桁)


マックス 「さあ かけまくるぜ。


そうだな。


まず(2進数)1×(2進数)1だ


もろに何も考えず(2進数)1×(2進数)1をかけあわせると


10進数1×10進数1=10進数1より 予想して


(2進数)1×(2進数)1=(2進数)1になる。


この計算方法が正しいかどうかは


この式(2進数)1×(2進数)1=(2進数)1のなかの


(2進数)1に


(2進数)1を10進数表示で表したものを代入し


右辺と左辺が


等しくなるか確かめてみればいい。


結果は

(2進数)1×(2進数)1=(2進数)1



(10進数)1×(10進数)1=(10進数)1


となり右辺と左辺が等しくなる。


よって


(2進数)1×(2進数)1=(2進数)1


は成立しているわけだ


(2進数)1×(2進数)1は(2進数)1となるわけだ


いいじゃ~んん(^^)」


老人 「うむ うむ」


マックス 「では(2進数)10×(2進数)10は?


すなわち もう もろにかけあわせる!


(2進数)10×(2進数)10=(2進数)100 !(大胆にそのまんま10と10をかけてきました)


っこの計算方法がただしいどうかは


(2進数)10と(2進数)100の部分



(2進数)10と(2進数)100



10進数に表し直したものを


代入し右辺と左辺が


等しくなるかどうか確かめてみればいい。


結果は


(2進数)10×(2進数)10=(2進数)100



(10進数)2×(10進数)2=(10進数)4


と右辺と左辺が等しくなり


(2進数)10×(2進数)10=(2進数)100


のように もろに(2進数)10同士をかけあわせて


(2進数)100の結果をだしてもよいことがわかる。」



老人 「2進数同士の掛け算 


☆1×1=1


☆10×10=100


全く10進数同士の掛け算と同じじゃな。


2進数とは不思議なものじゃのう・・・」


マックス 「むしろ10進数と違い1と0のみを用いている分


シンプル。なにか美しさを感じる・・・。


むむっ、これはっっ 今やっているのはC言語学習だが、


おもわぬ数学の神秘にであっちゃったかな。」


老人 「そうじゃのう。マックス。


どこからが数学でどこからがコンピュータ学か?・・


それともいろんな学問はつながりあっておるのか。


さても楽しいことよのう。」


マックス 「では(2進数)100×(2進数)100


をもとめてみよっかな


この計算結果はいままでの


2進数同士の掛け算 1×1=1 10×10=100


の結果より


(2進数)100×(2進数)100=(2進数)10000(100と100をもろにかけあわせるわけですね)


と予想される。


この計算方法が正しいかどうか確かめるために


(2進数)100×(2進数)100=(2進数)10000



(2進数)100と(2進数)10000に


(2進数)100と(2進数)10000を10進数表示したものを


代入する・・・


(2進数)100は4


(2進数)10000=16


なので


(2進数)100×(2進数)100=(2進数)10000



(10進数)4×(10進数)4=(10進数)16


となるわけだ!


左辺と右辺が等しくなった。


このもろに100と100をかけあわせる方法は正解だ。


もし このもろに掛け合わせる計算方法がまちがっていると


(10進数)4×(10進数)4=(10進数)32


とか


左辺と右辺が等しくない


おかしな結果がでてくるのだが・・・


全くその気配すら感じない・・。


2進数のシステムはすごいっ。(^^)


つまりこのことにより


(2進数)100と(2進数)100をもろに掛け合わせても


よいということになる。」


老人 「そうじゃな・・・」


マックス


「最後に(2進数)1110×(2進数)11=?


をもとめてみたいとおもいます。」


老人 「マックスや・・・


おぬしは優しいのう。」


マックス


「いやあ なんのことかな・・・


ははは それにしても2進数・・・


コンピュータのお気に入りだけのことはある。


このシンプルさ・・・


もしかしたら


人間の世界の10進数より使い方は簡単かも・・・


よーし いってみよう! ははは


簡単、簡単


(2進数)1110×(2進数)11=?


うーむ おそらく答えはこうだ


多分この方法だ(^^)/


大体数字を1の位 10の位 100の位とわけていけば


うまくいく。 はず(^^)だ。


(2進数)1110×(2進数)11=


1110×11=


1110×(10+1)=


1110×10+1110×1=


(1000+100+10)×10+(1000+100+10)×1=


(1000=100+100なので)


(100+100+10+10+10)×10+(100+100+10+10+10)×1=


(100=10+10なので)


(10+10+10+10+10+10+10)×10+(10+10+10+10+10+10+10)×1=


さっきの問題より


1×1=1


10×10=100


が成立するので


100+100+100+100+100+100+100+(10+10+10+10+10+10+10)×1=


1+1=10なので


100+100+100+100+100+100+100+(1+1+1+1+1+1+1+1+1+1+1+1+1+1)×1=


1×1=1なので


100+100+100+100+100+100+100+1+1+1+1+1+1+1+1+1+1+1+1+1+1=


100+100=1000なので


1000+1000+1000+100+1+1+1+1+1+1+1+1+1+1+1+1+1+1=


1+1=10なので


1000+1000+1000+100+10+10+10+10+10+10+10=


1000+1000=10000なので


10000+1000+100+10+10+10+10+10+10+10=


10+10=100なので


10000+1000+100+100+100+100+10=


100+100=1000なので


10000+1000+1000+1000+10=


1000+1000=10000なので


10000+10000+1000+10=


10000+10000=100000なので


100000+1000+10=


101010


となる


すなわち


1110×11=


1110×(10+1)=


1110×10+1110×1の計算結果は


101010


となる


また次のような計算方法もあってるんじゃないか?


たぶんだけど・・・・・


1110×11=


1110×(10+1)=


1110×10+1110×1=

(ここでは素直に掛け算をおこなっています この方法があっているかどうかは最後に確認することになります)

11100+1110


ここまででふつうに掛け算の部分は終了する。(註)


つまり1110×11をふつうにかけあわせてみたんだ。


(1110×11をふつうにかけあわせてみたとなっていますが


1110×11=12,210


のようにかけあわせることはできませんのでご注意ください


0と1のみの2進数の計算に10進数の2が混じっていますね



11100+1110


あとは足し合わせていくだけだ。


11100+1110



(10000+1000+100)+(1000+100+10)と分解されるだろう



ここで2進数の足し算では


100と100を足すと1が繰り上がり


100+100=1000


となるので


(10000+1000+100)+(1000+100+10)=


100を2つとも真ん中らへんにもってきて

👇

(10000+1000)+100+100+1000+10=


100+100=1000を用いて変形し

        👇

(10000+1000)+1000+1000+10=


となり


2進数の足し算では


1000と1000を足すと1が繰り上がり


1000+1000=10000になるので


(10000+1000)+1000+1000+10=

()をくくりなおして

10000+(1000+1000)+1000+10=


さらに短く


10000+10000+1000+10=


となる。


最後に


2進数の足し算では


10000と10000を足すと1が繰り上がり


10000+10000=100000になるので


今の式は


10000+10000+1000+10=


100000+1000+10=


となり最終的に


101010となる。


つまり


(2進数)1110×(2進数)11=(2進数)101010


となるわけだ


この(2進数)1110×(2進数)11をもろに


掛け合わせた今の計算結果が正しいかどうかは



もろに(2進数)1110と(2進数)11をかけあわせて


答えを得た今の式、



🐣(2進数)1110×(2進数)11=(2進数)101010 🐤

👆

この式の(2進数)1110と(2進数)11と(2進数)101010の部分に


(2進数)1110と(2進数)11と(2進数)101010を10進数に直したものを


代入し右辺と左辺が


等しくなるかどうか確かめてみればいい。



実際にたしかめてみると



(2進数)1110×(2進数)11=(2進数)101010


(10進数)14×(10進数)3=(10進数)42


となる。


つまりぃ 右辺と左辺は等しくなり



もろに(2進数)1110と(2進数)11をかけあわせて


答え(2進数)101010


をもとめてみてもよいことになる。


今までのデータの結果から



🐥🐥ふつうに2進数同士を掛け合わせても


正しい答えがでてくる🐧🐧



のはまずまちがいないかな。」


老人 「ようは


2進数同士の計算は(足し算も、引き算も、掛け算も)


簡単に誰にでも計算できてしまうということじゃな。


おぬしがコンピュータに2進数同士の計算を頼まれる日


がくるかもしれんのう  ふぉ ふぉ ふぉ」



。。。。。。。。。。。。。。。。。


ここまででふつうに掛け算の部分は終了する。(註)


とマックスはいっていますね。


そう


2進数の掛け算は


1110×10+1110×1=11100+1110

のように

10進数型の掛け算の計算方法をつかっていたのが


2進数の足し算になると


1+1=10

10+10=100

100+100=1000

になるという

2進数独自の計算方法にきりかわっていますね。


つまり

10進数を計算するときは

10進数型掛け算◎

10進数型足し算◎

をおこない


2進数を計算するときは

10進数型掛け算◎

10進数型足し算×→2進数型足し算◎

をおこなうように


計算方法が変化しているのです。


つまり

2進数を計算するときは

10進数型掛け算◎と

2進数型足し算◎の2つの形式が存在する構造となっています


なんか面白いですね。


みなさんはどうおもわれますか?


                      solarplexussより


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る