Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

Continuing story of elementary mathematics-3

2018-08-27 10:00:00 | JSP-knowledge

Continuing story of elementary mathematics-3

It's a small world

とあるところに数字が1桁しか使えない国がありました。
負数なんて知りません。
1桁なので0から9までの10とおりしかありません。
一番大きい数は9.一番小さい数は0です。


城内に響き渡る声

お殿様 「じい!!じい!!なにをしておる、すぐ参れ」
じい 「ははぁ、殿、如何なされましたか」
お殿様 「じい、余はシャンシャンのぬいぐるみがほしいぞよ、今なら1両と書いてある、すぐに買ってまいれ」
じい 「殿、お言葉を返すようではありますが我が国は財政難、蔵には1両もございません」
お殿様 「嫌じゃ、余はシャンシャンが欲しいのじゃ、今日はシャンシャンと一緒に寝るのじゃ、今すぐ買ってまいれ!!」
じい 「殿、蔵には1両もございませぬ、ここはひとつ・・・」
お殿様 「嫌じゃ嫌じゃ、今すぐ買ってまいれ!!シャンシャンじゃ、シャンシャンが欲しいのじゃ!!」


控えの間。
じい 「お殿様のワガママには困ったものじゃ」
家臣 「しかしシャンシャンを買わなければ殿が・・・」
じい 「うむ、わかっておる。このうえは越後屋から1両借りるしかあるまい」
家臣 「なんと、そのようなことをすれば借金ということで帳簿は0よりも小さい金額を記さなけらばなりませぬぞ」
じい 「確かに、しかし我が国には0より小さい数などない。これでは越後屋から1両借りる訳にもいかぬ」
家臣 「困りました・・・」


突然、小学生が乱入。
じい、家臣 「なにものじゃ!!」
コナソ 「たったひとつの真実見抜く、見た目は子供、頭脳は大人、その名は名探偵コナソ!」
じい 「曲者じゃ、であえであえ!!」
コナソ 「ちょっとまって、お金がないから借金したいんだよね。なら簡単だよ。マイナスってつければいいなだよ」
家臣 「なんと、マイナスじゃと。我が藩に新しい記号を増やすような資金はない!!」
コナソ 「そんなことないよ。+と-、それを今の桁の上に付けるだけだよ」
じい 「ならん!!そんなことをすれば大お殿様が作られた1桁の世を壊すことになる、断じてならん」
コナソ 「いまどき小学生でもマイナスぐらい知ってるよ、ひとつ上の桁に・・・」
じい 「切れ!!切り捨てぃ!!!」

ずばぁ、だぁぁ、ぐわぁぁ。
コナソ切られる。

じい 「ならん、桁を増やすなど断じてならん」
家臣 「御意」

じい 「お殿様のワガママには困ったものじゃ」
家臣 「しかしシャンシャンを買わなければ殿が・・・」
(以下、略)


突然音楽が流れる。
「タタタ、タン、タ、ターーン」
じい、家臣 「なにものじゃ!!」
ドラエモソ 「ぼく、ドラエモソ」
じい 「曲者じゃ、であえっ、であえっ~~!!」
ドラエモソ 「ほすう~~~」
じい 「なんじゃ」
ドラエモソ 「補数、これを使えば1桁しか無くても借金をできるんだ」
じい、家臣 「なんと!!」
ドラエモソ 「でも、条件があるよ」
じい、家臣 「なに!!」
ドラエモソ 「一番大きい数は5」
家臣 「何故!!」
ドラエモソ 「その代わり、借金も4までできるんだ」
じい 「少し待たれい」


じいと家臣が相談。
じい 「最大5とな」
家臣 「5ですな」
じい 「わしは6両などという金を見たことがない」
家臣 「6両と言えば田園調布に家が建ちまする、そのような大金は我が藩では夢のまた夢」
じい 「我が藩の財政として最大5両、借金が4両までできるというのは・・・」
家臣 「これなら殿にシャンシャンを献上することも夢ではございませぬ」
じい 「そうじゃな、これもお家のため・・・」


じいと家臣、ドラエモソと向き合う。
じい 「これ、ドラエモソとな、そちの補数とやらを使うぞよ」

その夜
お殿様 「シャンシャンじゃ、じい、シャンシャンぞよ」
じい 「は!!殿、シャンシャンにございまする」
お殿様 「今宵はシャンシャンと一緒じゃ、可愛いのう、おぉ、そうかそうか、もう眠いのか、じい、布団を敷けもう寝るぞよ、シャンシャン~~、くぁwせdrftgyふじこwwwww」


お殿様はシャンシャンと一緒に寝て素敵な夢を見ましたとさ。
めでたし、めでたし。
これで当分は1桁だけで大丈夫wwww

下らん寸劇はいいからちゃんと説明しろよ

はい、すみません・・・。
では当藩での計算方法をまとめておこう。

  • 桁数は10進数1桁。
  • 1から5まではプラスの数を表す。
  • 6から9まではマイナスの数を表しマイナス符号が付いた数に戻す場合は10を引く。
  • 足し算はそのまま行う。
  • 引き算は10進数における10の補数を足す。

10の補数の計算

当藩の決まりの最後にある、10進数における10の補数。計算方法は以下。

b 進法において、自然数 a を表現するのに必要な最小の桁数を n としたとき、

b n − a を 「b 進法における a に対する基数の補数(b の補数)」

当藩では10進数で桁数は1だから
10  − a
= 10 − a
で計算できる。桁数が4桁だったら
10  − a
= 10000 − a
ということ。この計算、必ず桁借りが発生する。あぁ、面倒くさい。こんな時、桁借りが発生しない簡単な計算方法がる。暗算する時に使うあれ。
買い物をして1万円出した時おつりはいくら?
こういう時は1万円-1円の9999円から引いて最後に1円を足す。各桁がすべて9だから絶対に桁借りは発生しない。最後に1を足すときに繰り上がりが起きるけど桁借りするよりは計算しやすい。
で、この9999円から引くって

b n − a − 1 を「b 進法における a に対する減基数の補数(b - 1 の補数)

これ。

10  − a − 1
= 10000 − a − 1
= 9999 − a

基数の補数の計算は必ず桁借りが発生するが、減基数の補数の計算では絶対に桁借りが発生しない。
減基数の補数を基数の補数にするには1を足せばよい。

減基数の補数の使い道はこれだけ。他になし。(たぶん・・・)
減基数の補数が出てきたら「あぁ、引き算面倒くさいから減基数で計算してるのね。最後に1足すの忘れないでね」ぐらいにおもっていればよい。

次回予告

補数ごときで延々と書き散らしてきましたが次回は怒涛の最終回。「ここまで10進数で考えてきたけど10進数には致命的な欠点が!!我が藩の財政の行方は如何に!!」です。


moniswitch
  今お使いの離床センサーがそのまま使える!
  離床センサーのスイッチ入れ忘れ事故を防止するスマートスイッチ 

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業


最新の画像もっと見る

コメントを投稿