はじめに
これはクソアプリ2 Advent Calendar 2018の9日目の記事となります。
現在のそろばんは上珠1つ下珠4つで、0~9を表して繰り上がりは左隣で処理します。
つまり、10進数となるわけです。
それでは、上珠2つ下珠5つで 0~15と表せば16進数となるわけです。
情報処理試験では、16進数の計算問題が出てきます。
そろばんをそれなりのレベルまで習った人は、頭の中にそろばんを思い浮かべて素早い計算が出来るとのことです。
そんなのが出来れば、16進数の計算が素早く計算が出来るようになる・・・ま、訓練次第ではね。
そこがクソアプリ所以ってことですね。
16進数そろばん
10進 48 + 51 = 99
最初は通常の10進計算です。桁上りを10進にするためDecにチェックを入れます。
16進 F4 + 8A = 17E
そろばんの歴史
算盤の起源は中国です、当時の中国の算盤は上珠2つ下珠5つとなっていました。
中国の算盤が上珠2つ下珠5つだったのは、当時の目方(尺貫法)の単位が1斤を16両(16進法)としていたので、1桁に15までおけるものが重宝だったといわれています。
室町時代末期に宋(中国)の商人が日本に伝え、日本にもこの形が輸入されました。日本では16進数の計算は必要ではなかったのですが、江戸時代の乗算や除算の方法では、一時的に1桁に10以上溜まる場合もあったこともあり、江戸時代までは上珠2つの形式が多く使われていました。
中国から伝来した当初には枠が大きく珠の形状が丸かったが、日本では江戸時代にそろばんが広まっていくうち枠の大きさが手の大きさに合わせて小さめに珠の形状がすばやく計算しやすいよう円錐を2つ合わせた菱形のような形に変化していきました。
明治時代になって不要な5珠を1つ減らした上珠1つ下珠5つの形が普及しました、現在の上珠1つ下珠4つに統一されたのは1935年(昭和10年)となります。速算術では5珠だと遅くなってしまいます、一番下の珠は残して使ってた人も多いようです。
下珠5つは位が上がることを確認する意味があり、間違いが致命的になる商人の方には使われていました。
このように日本の算盤は高速で計算できるように工夫がなされてきており、このことが世界的な普及につながっています。国際的にメートル法が使用される現在では中国でも上珠1つ下珠4つの算盤が普及してきているとのこと。
GitHubに公開
GitHubには、無料でWebページを公開できるGitHub Pagesというサービスがあります。
参照:WebGL投稿先としてGithubを使ってみる
https://yaju.github.io/WebGLBuild/Abacus16/
10進モード(Dec)の際に全ての珠を使うと計算が合いませんが、これは仕様です。
昔の5珠時代は確認してから払いをして位を繰り上げるという手順になっていたからです。
ソースリストはこちらになります。
https://github.com/yaju/Abacus16
最後に
1年前に作ったものを問題文を出すように改良するつもりだったんですが間に合わず、そのまま記事をリライトした形になってしまいました。
【Unity】8月8日はそろばんの日 16進そろばんを作ってみた。