記数法変換カリキュレータ
プログラミングの一般的な記数法には、2進法(基数2)、10進法(基数10)、8進法(基数8)、16進法(基数16)があります。記数法変換カリキュレータは、いずれかの進法で数値を入力すると、その他の進法に相互変換できるカリキュレータです。また、2進数のビットシフトカリキュレータとしても機能するので、ビットを左右にシフトしたり、個々のビットを変えて値を変更したりできます。
私たちが日常的に使っている表記は10進法です。10進法では、桁の位置は10の累乗を表します(基数は10)。つまり、最下位ビットから左に進む際には、9に到達した後で桁が上がります。9は9つの「1」を表し、10は1つの「10」を表します。
2進法は基数が2で、1と0のみを使用する記数法です。各ポジションは1ステップを表します。2進数「1」の後に続くのは「10」(「2」の位が「1」、「1」の位が「0」)です。その次は11(「2」の位が1で、「1」の位に1を追加)となります。2進数の100は、10進数の4となります(4の位が1、2の位が0、1の位が0)。プログラミングにおける2進法の最大のメリットは、回路の2つの状態を非常に簡単に表現できる点です。電子回路では、1や0でオンやオフの状態を表すことができます。そのため、2進法はあらゆるプログラミングの基礎となります。2進法の欠点は、数が大きいと非常に長くなってしまうことです。
8進法は基数が8で、数字の位は最下位ビット(LSB)から順に1、8、64、...となります。例えば8進数の135は、1x64 + 3x8 + 5x1で、合計93となります。8進法は現在ではあまり普及しておらず、16進法にほぼ置き換わっています。
16進法は16を基数とし、0~9の数字とA~Fの文字を使用します。この表記において、「1」の位の0〜9までは数字で表され、「10」は文字A、「11」は文字B、といった具合に表されます。16進法の最大の利点は、非常に大きな数字を簡単に表現できることです。16進数の4B6を細かく説明すると、4(2進数の0100)B(2進数の1011)6(2進数の0110)となります。このようにして、非常に長いバイナリ文字列を読みやすい形式に短縮することが可能です。