日本では明治時代まで「一、二、三」のような漢数字が公式な数の表記だった。西洋式のアラビア数字(0-9)が本格的に広まったのは明治政府の近代化政策以降で、算用数字と呼ばれるこの表記は今でも「令和6年」のような漢数字表記と並行して使われている——同じ数を複数の記法で書けるという発想は、実はこの変換ツールがやっていることと同じである。
漢数字から算用数字への切り替え
漢数字は位取り記数法ではなく、位ごとに「十」「百」「千」という漢字を挟む方式のため、筆算や大きな桁の計算には不向きだった。明治政府が学校教育や公文書に算用数字を導入したことで、位取りで桁を表すアラビア数字の計算効率の良さが日本社会に広く定着していった。
実務で本当に使う16進法
1桁の16進数は正確に4ビットに対応するため、2文字の16進文字は1バイトをコンパクトに表現する——CSSの色#3A7FD9も、MACアドレス00:1A:2B:3C:4D:5Eも、デバッガのスタックトレースに出るメモリアドレスも、結局は2進数より4倍短い表記で書かれたバイト列にすぎない。
Unixパーミッションに生き残る8進法
8進法は日常的な用途からほぼ姿を消したが、chmod 755という一箇所だけは今も現役だ。各8進数は読み取り・書き込み・実行の3つの権限ビットをまとめて表すため、7は「rwx」、5は「r-x」を意味する——3ビットずつ読むほうが、2進数9桁を1つずつ数えるより速い。
なぜこれが必要か
- 色をCSSの16進形式から10進のRGB値に変換する。
- ビット演算を扱う際に数値の2進表現を理解する。
- Unixシステムの8進ファイル権限を読み解く。
Base64が進数体系ではない理由
Base64は名前が似ているため進数変換とよく混同されますが、根本的に別のものです——単一の数値を書き表す方法ではなく、任意のバイナリデータ(画像やファイルなど)を64文字のテキスト文字列にエンコードする方法です。数値255は16進数ではFFですが、同じ数値を1バイトとしてBase64でエンコードしたものはまったく異なる見た目になり、目的も異なります——テキスト用のチャネルでバイナリデータを送信することです。