戻る  2進数そろばん



そろばん電卓 そういえば、 いつ頃からそろばんを見かけなくなったのでしょうか。
電卓が普及するにつれて姿を消していったのでしょうが、 それでも初めのうちは、 「そりゃあなた、 電卓なんぞよりこいつの方が速い」 とか、 「やっぱりこれでなきゃ!」 という人が珍しくありませんでした。 銀行の窓口にも、 そばに電卓があるのにそろばんでささっと、 カッコいい行員さんがいたものです。

上の写真は 「そろばん電卓」 です。
そろばんに電卓がついているというか、 電卓にそろばんがついているというべきか、 ともかくこういう商品があったということは、 電卓とそろばんが共存していた時代があったことを物語っています。



というわけで、 唐突ですが、 2 進数と加算回路をもっと理解するために、 そろばんを使ってみようと思って 「2進数そろばん」 を作ってみました。

その 「2進数そろばん」 を使うための準備運動です。 (必要がない人はスキップして下さい。)


上図は、 半加算回路 とその真理表です。
A と B の和 S は、 A B いずれもが 0 または 1 のときは 0 で、 どちらか一方だけが 1 のときに 1 になります。
すなわち、 A B 両方が 0 のときは 0 で、 どちらかが 1 になると 1 になって、 そして更にA B 両方が 1 になると 0 に戻ります。
見方を変えれば、 「A B のいずれかが変化すると和 S も変化する」 ともいえます。
一方、 2 進数の一桁、 A と B を加えることによって生じる桁上げ (carry) C は、 A B いずれもが 1 のときに 1 になります。 上位桁の加算時にこの 1 を加えなくてはなりません。

これをまとめると、 1 を加えると S は変化するC が 1 になったら次の桁に 1 を加える、 といいわけです。



さて、 2 進数そろばんです。

ふつうの算盤は梁の上に一つ、 下に四つ珠 (たま) があるのに対して、 「2 進数そろばん」 の珠は一つです。 前者を 四つ珠 といいますが、 こちらは 一つ珠の 「自動」 そろばんです。
珠をマウスでクリックすると動きますから、 試してみて下さい。




上部の枠にある赤い三角形 は 20 の位置を表しています (枠をクリックすると移動できます。)




使用法:
下図は、1101 + 110、すなわち 13 + 6 を計算しようとしているところです。

13+6

動かすべき珠の位置を赤い丸印で表しています。
珠をクリックすると左の図のように、 珠は上に上がります。

これに 110 を加えるには、 右の図の赤い丸印の位置の珠を動かします。
22 の珠はすでに上にありますから、 クリックすると下に下がります。 1 に 1 を加えて 0 になったのですが、 このときキャリーが生じますから、 上位の桁にも 1 を加えなくてはなりません。 しかし 23 の珠も上にありますから、 これも下がって 24 の珠を上げることになります。
こう書くと複雑そうですが、 「自動そろばん」 では一連のキャリーの処理がすべて自動的に行われます。
ボタンをクリックすると自動モードが解除され、 ご自分でキャリーの処理ができるようになります。)
なお CLEAR ボタン はクリアボタン、 ご破算で願いましては、 で使います。



付記 (小数について):
赤い三角形 のところは 20、 その左隣は 21、 そのまた左隣は 22 です。
逆に、 20 の右隣は同様にして 2-1、 その右隣は 2-2、 そのまた右隣は 2-3 の位になります。
2-1、 2-2、 2-3 ですから、 それぞれ 0.5、 0.25、 0.125 という小数を表しています。
すなわち、 2進数の 0.1 は 10進数の 0.5、 2進数の 0.01 は 10進数の 0.25、 2進数の 0.001 は 10進数の 0.125 です。
従って下図のように、 2進数の 0.01 と 0.001 を加えた 0.011 は、 10進数の 0.375 になります。

0.375

ところで、 10進数の 0.1 を 2 進数では正確に表すことができません。 近似値は 0.00011001100110011001100 … で、 これを 10 進数で表すと 0.099999904632568359375… になります。 (上のそろばんで枠の上部、 白いところをクリックして を左端に移動させると計算できます。)
しかし、 だからといって 「なんだ、 0.1 も満足に表せないのか、 やはり 2 進数は駄目だな」 と考えるのは早計です。 10進数だって、 を小数で満足に表せないのです。





情報処理概論 に戻る   目次 に戻る  戻る  


*1 シャープ株式会社 技術本部 歴史ホール・技術ホール (〒632-8567 奈良県天理市櫟本町2613-1) で撮影させていただきました。
*2 半加算回路の出力 S は、 EXOR 回路と同じですから、 下図のように書くこともできます。 EXOR 回路は、入力 A B のいずれかが変わると出力も変わる性質があります。 同様の性質を持っているスイッチは、 階段の照明 などに用いられています。


Java applet 圧縮アーカイブファイル    自由利用マーク
update: 2012.10.10  address