みなさんこんにちは。とよはま先生です!
皆さんは、Minecraftのレッドストーン回路で電卓を作ることができるのを知っているでしょうか?
実はマインクラフトの回路ってすごくて現実世界の電子回路をマイクラのレッドストーン回路で再現することができちゃうのです!(その気になればゲーム中でゲームを動かすなんてことも…)
今回はMinecraftで電卓の作り方をちょこっと紹介したいと思います!
☆2進数
電卓の作成に入る前に、まずは2進数というものについて説明したいと思います。
ただ、少しむずかしい話になるので下の表を見て「数字をこんな風に表すんだな」と思っていただければ最悪読み飛ばしちゃって大丈夫です!
さて、皆さんは普段数字を書くときに「0, 1, 2, 3, 4, 5, 6, 7, 8, 9」の10種類の文字を使って書いていると思います。そして、2進数というものが一体全体何なのかといいますと「0, 1」のたった2個だけの文字を使って数を表す事を言います。
そういわれても、イメージが湧かないと思うので実際に2進数を見てみましょう!
まずは「0」です。これは、2進数でも「0」と書きます。
次に「1」です。これも、2進数ではそのまま「1」と書きます。
さて、問題はここからです。
「2」という数を2進数にします。ただ、2進数は「0, 1」の2種類の文字しか使うことができません。では、どうするか?
一文字で表せないなら、二文字で表せばいいじゃない!ということで、「10」と書きます!ちなみに、読み方は「じゅう」ではなく「いちぜろ」です。
このように、「3」は2進数で「11」、「4」は2進数で「100」となっていきます。下に2進数の表を作ったので見てみてください!
☆電卓の作り方
さて、なぜ2進数のお話をしたかと言うと今回作成する電卓は2進数で計算をする電卓だからです。コンピューターは実は0と1だけで動いています。そのため今回作る電卓も0と1だけ、つまり2進数を使うことになるのです!
それでは、これが電卓の設計図です!
真似して作ってみましょう!
それでは、この電卓の使い方について説明したいと思います。
回路の下の方にレバーが2つあると思います。レバーがONの状態は「1」、レバーがOFFの状態は「0」のようにレバーが計算する数字を表しています。
そして、右のレバーと左のレバーを足した結果が上のレッドストーンランプに表示されます!
例えば上の画像の例だと、右のレバーはOFF(0)で左のレバーもOFF(0)です。つまり、0+0が計算されます。0+0=0なので、レッドストーンランプは光りません。
では、試しに1+1を計算してみましょう!
両方のレバーをONにすると、下のような結果になると思います。
ここで、レッドストーンランプがONの状態は「1」を、OFFの状態は「0」を表します。
つまりこの状態は、「10」を表すということです。
さて、始めの方に紹介した2進数の表を見てみると「10」は十進数(いつも皆さんが使っている数)で、2を表します。
つまり、1+1=2が計算できたというわけです!
☆まとめ
今回皆さんに紹介した電卓は「半加算器」と言う名前で呼ばれます。皆さんが普段使っている電卓には、この半加算器とOR回路というものを組み合わせた「全加算器」というものが使われています。この「全加算器」をいくつもつなげることで、たくさんの桁の足し算をすることができるのです。
また、皆さんの中には足し算はできたけど引き算はどうするんだ?疑問に思った方がいるかも知れません。実は、コンピュータは足し算しかすることができないのです。しかし、足し算をくふうして使うことで引き算や掛け算、割り算といった計算を行うことができるのです!
興味を持った方はぜひ調べてみてください!
☆発展 「全加算器」の作り方
さて、もっと大きな数字を計算したい!という方に向けて「発展編」として、まとめでお話した「全加算器」の作り方を紹介したいと思います。
全加算器を作るにあたって、同じ形の回路が何度も出てくるのでストラクチャーブロックというものを使って作るのをおすすめします。
1.まず初めに「☆電卓の作り方」で作った半加算器を2つ作ります。そして、矢印の書かれているところをくっつけます。距離が長いとレッドストーン信号が届かなくなるのでレッドストーンリピーター(レッドストーン反復装置)を間にはさみましょう。
2. すると上の画像のようになると思うので、また矢印の書かれているところをくっつけてください。こちらも同じく、レッドストーン信号が届かなくなるのでレッドストーンリピーターを間にはさんでください。
3.すると上のような回路ができると思います。これが「全加算器」です!この回路をいくつも並べることで大きな数字を計算できます。レッドストーンリピーターの向きに注意してください。また、矢印で示している部分のレバーは必ずOFFにしてください。
次に作った回路を横にコピーします。その後、矢印の部分同士をつなげてください。つなぐときには信号が届くように間にリピーターを忘れないようにしましょう。
これをいくつも並べると上の画像のようになります。これで大きな数字を計算できるようになります。三個並べたこの計算機では、2進数で「111+111」まで、10進数で「7+7」まで計算できます。もっと大きな数字を計算したいときは、さらにたくさん並べれば計算できるようになります!
☆発展 「全加算器」の使い方
では早速作った計算機で、計算をしたいと思います。今回は十進数で「3+2」を計算したいと思います。
まずは電卓に3を入力します。3は2進数で「11」なので計算機の左側のレバーをそれぞれ「011」とします。(OFFが0、ONが1)
次に電卓に2を入力します。2は2進数で「10」なので計算機の左側のレバーをそれぞれ「010」とします。これで入力は終了です。それでは計算結果を見てみましょう!
計算結果を見てみると「101」となります。2進数の表を見てみると「101」は十進数で「5」となりますので、「3+2=5」となってバッチリ計算ができました!