基数 2進数 16進数 Base64
基数とは
基数(radix, base)とは、位取り記数法で使う数字の種類の数である。私たちが普段使う10進数は基数10、コンピュータの2進数は基数2、16進数は基数16である。
位取り記数法
n進数の各桁は n のべき乗で重み付けされる。
10進数 234 = 2×10² + 3×10¹ + 4×10⁰
2進数 1101 = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13(10進)
主要な基数
| 基数 | 名称 | 使用する数字 | 用途 |
|---|---|---|---|
| 2 | 2進数(binary) | 0, 1 | コンピュータ内部、ビット演算 |
| 8 | 8進数(octal) | 0-7 | Unix権限(chmod 755) |
| 10 | 10進数(decimal) | 0-9 | 人間の日常使用 |
| 16 | 16進数(hexadecimal) | 0-9, A-F | カラーコード、メモリアドレス |
| 64 | Base64 | A-Z, a-z, 0-9, +, / | バイナリのテキスト変換 |
16進数
16進数は2進数4桁(4ビット)を1桁で表現できるため、バイナリデータの可読性を高める。
| 10進 | 2進 | 16進 | 10進 | 2進 | 16進 |
|---|---|---|---|---|---|
| 0 | 0000 | 0 | 8 | 1000 | 8 |
| 1 | 0001 | 1 | 9 | 1001 | 9 |
| 2 | 0010 | 2 | 10 | 1010 | A |
| 3 | 0011 | 3 | 11 | 1011 | B |
| 4 | 0100 | 4 | 12 | 1100 | C |
| 5 | 0101 | 5 | 13 | 1101 | D |
| 6 | 0110 | 6 | 14 | 1110 | E |
| 7 | 0111 | 7 | 15 | 1111 | F |
カラーコード
#FF5733 は RGB を16進数で表現したもの。
FF = 255(赤)、57 = 87(緑)、33 = 51(青)
Base64
Base64は、バイナリデータをASCII文字列に変換するエンコーディング方式。3バイト(24ビット)を4文字(6ビット×4)に変換する。
Base64の用途
・メール添付ファイル(MIME)
・Data URI(画像の埋め込み)
・JWT(JSON Web Token)
・APIでのバイナリデータ送受信
注意:Base64は暗号化ではない。単なるエンコーディングであり、誰でもデコードできる。
実務での応用
WEB開発での応用
カラーコード:CSS、デザインツールでの色指定。
UUID:128ビットの識別子を16進数32桁(+ハイフン)で表現。
URLエンコーディング:%20(スペース)などの16進表記。
Base64画像:小さな画像をHTMLに直接埋め込む。
AI/MLでの応用
ハッシュ値:SHA-256などの出力は16進数で表示される。
モデルのシリアライズ:バイナリモデルのBase64変換。
特徴量ハッシング:文字列を数値に変換する際の中間表現。
深掘りリンク
- Wikipedia: 位取り記数法
- Wikipedia: Base64
- 関連:文字コード(ASCII、UTF-8)
- 次のステップ:ビット演算、ハッシュ関数