1. HOME
  2. ブログ
  3. CS四方山話(第24話)暗号を理解するための数学の世界その3小学生からの数学シリーズ・第三弾「繰り上がり・繰り下がり」

CS四方山話(第24話)暗号を理解するための数学の世界その3
小学生からの数学シリーズ・第三弾「繰り上がり・繰り下がり」

さて、今回は「小学校からの数学」シリーズ・第3弾です。前回の第2弾(CS四方山話 第23話)で取りこぼした、小学1年生で学ぶ「繰り上がり・繰り下がり」に関して書きます。「繰り上がり・繰り下がり」の背景には「進数」という概念があります。そこにも触れつつ、小学1年生と共に学びましょう。

1進数(unary number)

「1進数」という言葉を耳に(目に)する機会は少ないでしょう。しかし「数」の基本は「1進数」です。皆さんも、その昔、数え棒(かぞえぼう)、おはじきで「数」を学んだ経験があるのではないでしょうか? 記憶の奥底を探ってみてください。

ここでは、おはじき「●」を使ってみましょう(表記上「|」は「1」と紛らわしいので)。

「●」1つが「1」です。「●●」は「2」ということになります。

● = 1
●● = 2
●●● = 3
 :
●●●●●●●●● = 9

こんな感じです。直感的で分かり易いですね。

では、これはどうでしょう?

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

パッと見では「いくつ」なのか分からないですね(特殊な能力持っているヒトは別として)。筆者は数えなければ分かりません。

そこで並べ方を工夫して見ましょう。

●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●

10個の塊が10あるので、10 x 10 = 100 と分かり易くなります。

でも「100」と書くのに比べて、多くのスペース = 桁数(ここでは文字数)が必要となります。なにせ、値 = 桁数(文字数)ということになりますので。

2進数(binary number)

1進数では、おはじきの種類が「●」1つだけでしたが、今度は、おはじきの種類を「●」と「○」の2つにしてみましょう。

● = 1 で、これは1進数の時と同じです。
○ = 0 で、何も無い状態を表すことにします。

そして、数字の並びに意味を持たせます。右端は「2つ」にならない分を表すことにします。右から2つ目は2つの集まりを表すことにします。このルールに従うと「2」は「2つの集まり」が1つあり、それ以外には無いので「●○」と表すことになります。

表現を変えると、● = 1 で、○ = 0 なので、1 と 0 は表現できますが、2 を表す記号が無いので、溢れた分を左側に●として書くことにするということです。この「溢れた」が「繰り上がり」ということです。

数式的に書くと「● + ● = ●○」となります。

「3」はどうなるでしょうか?

●○ + ● ということになります。

右端が○なので、ここを●にすれば、良さそうです。●●です。左側の●は「2」を表していて、右側の●は「1」を表すので「2 +1 = 3」ということで合っています。

そこに、もう1つ●を足すとどうなるでしょうか? 右端の●は埋まっているので、もう1つ●を足すと溢れます、溢れた分を左側に持っていきます。

左側にも●があり、やはり溢れます。そこで、もう1つ左側に枠を作ります。結果「●○○」となります。左端の●のところは、「2つの集まり」が2つ、つまり「4」を表す枠になります。

この「枠」を「桁」と呼ぶことにしましょう。

同じように1つずつ●を足していきます。溢れたら枠、つまり桁を増やして表現します。

● = 1 = 0b1
●○ = 2 = 0b10
●● = 3 = 0b11
●○○ = 4 = 0b100
 :
●○○● = 9 = 0b1001
 :
●●○○●○○ = 100 = 0b1100100

(★注)ここで上記右端の「0b」とは、プレフィックス(接頭辞)で、binary numberすなわち2進数として扱うという意味です。

1進数よりは少ない桁数(文字数)で表現できます。皆さんが日々お使いのパソコンやスマホは、この2進数で演算を行っています。なぜ2進数なのかというと、● = ON(電圧がHIGH)、○ = OFF(電圧がLOW)ということで、電気的に(電子回路的に)扱い易いからです。

まとめ

1進数のせいで、ここまでで既に多くの文字数を消化してしまっています。そして、今回用意した四方山話が長い……。ということで、今回はここまでとします。次回(第25話)は、「新解釈・小学1年生」の「繰り上がり」「繰り下がり」の本丸である「10進数」の話(+16進数の話)にしようと思います。

リニューアル後、1話辺りの内容が薄いのでは? いえいえ、そんなことはありません。小学1年生が基準ですので「分かり易く」が基本です。詰め込み教育は良くないのです(もっとも、ゆとり教育は、もっとダメだったと思っていますが)。

四方山話

何か情報を得るためには「一定のコスト」が必要です。書籍の場合は本代が掛かりますし、有償のセミナーであれば受講料が掛かります。しかし、そのコストの中で最も大きいモノは、本代やセミナーの受講料ではなく「自分の工数」つまり、自分の時間です。ネットから情報を得る場合、お金は掛からなくても工数は掛かります。無料セミナーも同様です。

「工数」という考え方は、ビジネス上、絶対に必要な概念です。納期までに与えられる(=使える)時間は限られています。それが「工数」です。会社(組織)はその「工数」のために、給与を支払っている訳でつまりはコストです。それ以上に重大なことがあります。それは、それぞれの 「人生に与えられた時間は限られている」 ということです。つまり、人生で自分が使える工数は限られており、その時間を何に使うのかは、真面目に考えてみる価値があるでしょう。

話を戻します。何か情報を得るためには、貴重な「工数」が必要です。使ったコスト、つまり、使った「あなたの時間」は戻って来ません。その時間を使った結果、何を得たいのか? 何が得られるのか? それが重要です。時間を使った結果として得られモノは「経験」です。もう少し範囲を狭めると「知見」ということになります。

得た 経験 や 知見 を活かすのか(どう成果に繋げるのか)を意識することは、時間を無駄にしないために大切だと思います。得た 経験、知見(≒ 情報)の活かし方にはいろいろあります。

 

特定のヒトの「趣味」という情報を得たとすると、その情報を活かして、その趣味にまつわる話題を振って、一定の密度のある会話に持ち込み、相手との距離を縮めるという成果に繋げることができます。特定のヒトの「仕事」という情報を得たとすると、最近の時事ネタでその仕事に関係しそうな話題を振って、一定の密度のある会話に持ち込み、相手との距離を縮めるという成果に繋げることができます。

 

これは、銀座のお店の(優秀な)キャストが日々当たり前のように行っているルーチンです。つまりは「営業の定石」ということになります。

技術屋さんの場合だと、新しい技術(ex. ChatGPT)に触れたとすると、それを深掘りして理解して(ex. 自分で使ってみて)、情報発信して(ex. 試したことを誰かと共有して)、(ex. 違う観点や意見を聴いて)理解を深めたり、仕事に活かすこと(ex. 今後のプロジェクトへの適用を図ること)を考えるといった話になるでしょう。

いずれにしても能動的に情報を収集し、それを咀嚼、整理するという活動が無ければ成立しません(IT = Information Technology の根幹はここにあるべきだと思います)。

筆者の場合、放っておくと思考が発散する、(逆方向に傾くと)特定の内容に偏るという傾向を持っています。これらを緩和する方策の1つとして、情報収集したら、情報発信し(= 得たモノを整理することにもなる)、反応を得る(= 次のステップにつなげるヒントを得る)という行動(ルーチン)に持ち込んでいます。

 

そのルーチンの一部が、この「CS四方山話」「CS白狐村塾」というオンライメディアでの連載であり、別途配信を行っている「NEWS Cyber Security」というメーリングリストであったりします。
※「NEWS Cyber Security」は、筆者がサイバーセキュリティ関連のニュース一覧をまとめて、ご希望の方にお送りさせていただいているものです。ご希望の方はこちらよりご連絡ください。

今回もお付き合い頂き、ありがとうございます。


CS四方山話の過去の記事はこちら(合わせてお読みください)


中村 健 (Ken Nakamura)
株式会社SYNCHRO 取締役 CTO
機械屋だったはずだが、いつの間にかソフト屋になっていた。
以前は計測制御、知識工学が専門分野で、日本版スペースシャトルの飛行実験に関わったり、アクアラインを掘ったりしていた。
VoIPに関わったことで通信も専門分野に加わり、最近はネットワークセキュリティに注力している。
https://www.udc-synchro.co.jp/

サイバーセキュリティ四方山話の最新話は、メールマガジンにてもご案内致しています。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします。

関連記事

サイバーセキュリティの課題をテーマ別に紹介中!!