Photoshopを開くと #3A7BD5 という色コードが表示され、ターミナルに chmod 644 と入力し、コードを読むと 0xFF や 0b1010 が出てくる。これらはすべて「進数(記数法)」という共通の概念に基づいています。進数を理解することは、プログラミングの基礎です。
なぜ複数の進数があるのか
人間は指が10本あるので自然と10進数(Decimal)を使います。コンピュータはトランジスタのON/OFFしかないため2進数(Binary)を使います。8進数・16進数は、2進数を人間が読みやすくするために生まれた表記法です。
即座に変換:進数変換ツールで10進数・2進数・8進数・16進数をワンクリックで相互変換できます。デバッグ時の確認に最適です。
2進数:コンピュータの言語
2進数は0と1だけ。1桁をビット(bit)、8ビットをバイト(byte)と呼びます。ビット演算(AND・OR・XOR・シフト)、ネットワークサブネットマスク、権限フラグなどに使われます。
8進数:Unixファイルパーミッション
chmod 755 の意味:オーナーがrwx(7=4+2+1)、グループがr-x(5)、その他がr-x(5)。各桁は読み取り(4)+書き込み(2)+実行(1)の合計です。
16進数:最も頻繁に登場する進数
16進数は0~9とA~Fを使います。1文字が4ビット、2文字が1バイトを表します。主な用途:CSSカラーコード(#3A7BD5)、メモリアドレス、ハッシュ値(MD5・SHA256)、URLパーセントエンコーディング(%20=スペース)。
カラーコード変換:カラーコード変換ツールでHEX・RGB・HSLを相互変換できます。
URLエンコード:URLエンコードツールで日本語URLのパーセントエンコードを自動処理できます。
まとめ
- 2進数:ハードウェアの基礎、ビット演算・マスク・フラグ
- 8進数:Unixファイルパーミッション(chmod)
- 16進数:カラーコード・メモリ・ハッシュ・URLエンコード
- 16進数↔2進数の変換は最も簡単:16進数1文字=4ビット、暗算不要