こんにちは、koyukaisa.workの真田夕起です!
初めて訪問してくださった方も、いつも読んでくださっている方も、ありがとうございます。本日も楽しんでいただける記事をお届けしますので、どうぞリラックスしてお読みください。
長女と基本情報技術者試験の本を読んでるだけ勉強をしていて、お互いに今日読み進めたページ数をチャットで報告しあっている。
せっかくなので、基本情報技術者試験の本の最初で出てくる項目、n進数の計算、特に2進数、8進数、16進数を使ってページ数を報告している。毎回計算が面倒くさいんだけど、こうやって使っていた方が身に付くよね、と思って頑張っている。
ところで、8進数にしても16進数にしても、2進数に直して計算するので、最終的には1と0だけになって、例えば、10110だったら、16×1+8×0+4×1+2×1+1×0=22、という計算をひたすらすることになるんだけど、桁が上がるにつれて、見た目は1、0だけでチカチカとするし、1が多いとそれだけ足し算が多くなって面倒くさいし単純な計算間違いをしがちになってしまう。
しかし、面倒くさいなぁ、、、と思って計算しようとしたときに、ふと気づいたことがある。
例えば、1111って、15じゃん?もう1個桁が上がると10000になって16になる。ってことは、全部が1並びなら、1桁多いけれどその桁未満が全部0の数より1小さい数になるってことだよね?
どこか1つだけ0がある場合、例えば1101って13になるけど、もしも、1111なら15になるんだから、8+4+(2×0)+1=13って足して計算するより、15-2って引いて計算する方が楽じゃね?
桁数が少ないなら足し算のほうが楽かもしれないけれど、桁数が上がれば上がるほど、1と0のどっちが多いか確認してから計算しやすいほうで計算した方が楽だよね、と気づいた。
だって、111101111ってあったら、256+128+64+32+8+4+2+1って計算するより、511-16って計算する方が圧倒的に早いよね?きっと。
ということに気づいたよ~とこれまたチャットで報告&共有したことで、より2進数に親しみを持つことができるようになった。
ということで、今回の記事はここまでです。最後までお読みいただき、本当にありがとうございます!
今後も皆さんの役に立つ情報をどんどんお届けしていきますので、次回もお楽しみに。ご質問や感想があれば、コメント欄で気軽に教えてくださいね。真田夕起でした!!
チャンネル登録やブックマーク、いいねやコメントをいただけるととても嬉しいです。これからもどうぞよろしくお願いいたします。