進数変換の概要・基礎知識
進数(基数)とは、何種類の数字を使ってひとつの位を表すかを決めるルールです。私たちが日常使うのは0〜9の10種類を使う10進数ですが、コンピュータの世界では0と1だけの2進数、4ビットを1桁にまとめた16進数、8進数(旧UNIXパーミッションなどに残る)が現役で使われています。本ツールは2進・8進・10進・16進の相互変換を1画面で同時に行い、ビットパターン・ビット数・バイト数・符号なし最大値も併せて表示します。プログラマー、組み込みエンジニア、ネットワーク管理者、情報処理試験の受験者まで幅広く役立つ基本ツールです。
変換の仕組みと記法
| 進数 | 使う記号 | 表記例(10進の255) | 主な用途 |
|---|---|---|---|
| 2進数 | 0, 1 | 11111111 | ビット演算、フラグ、論理回路 |
| 8進数 | 0〜7 | 377 | UNIXパーミッション(chmod) |
| 10進数 | 0〜9 | 255 | 日常計算、人間向け表示 |
| 16進数 | 0〜9, A〜F | FF | カラーコード、メモリアドレス、MAC |
使い方の流れ
- 入力欄に変換したい数値を入力します。プリセットボタンから「255(8bit最大)」などをワンタップで呼び出すこともできます。
- 入力値が何進数かをラジオボタンで選びます(2進・8進・10進・16進)。
- 入力と同時に、4つの基数すべてに自動変換されます。各行をクリックするとその表記をコピーできます。
- 下部のビットパターン表示で、各ビットが0/1のどちらかを視覚的に確認できます。組み込み開発で「3ビット目を立てる」といった操作の検算に便利です。
- 「全結果をコピー」で4つの表記をまとめてクリップボードに転送できます。
こんな場面で使う
- プログラミング学習:ビットフラグやマスク演算(AND、OR、XOR)の理解には、2進・16進の対応関係を素早く確認できる環境が欠かせません。
- カラーコード変換:CSSの
#FF8800をRGB(255, 136, 0)に変換し、Photoshopやデザインツールに設定したい場面で便利です。 - ネットワーク設計:IPアドレスやサブネットマスク(例:255.255.255.0 = 11111111.11111111.11111111.00000000)の変換、CIDR表記の理解に使えます。
- 組み込み・ハードウェア:レジスタ値、メモリアドレス、I2Cデバイスアドレス(7ビット/8ビット表記)など、データシートに散在する基数表記を統一して読めます。
- 情報処理試験対策:基本情報技術者・応用情報技術者試験で頻出する基数変換問題の検算と練習に活用できます。
使う前に知っておきたい注意点
- JavaScriptの安全な整数範囲(Number.MAX_SAFE_INTEGER ≈ 9,007兆)を超える値は精度が落ちます。64ビットの符号なし最大値(約1.8×10^19)を扱いたい場合はBigInt対応のツールを併用してください。
- 16進数の入力では大文字・小文字どちらも受け付けますが、表示は慣例に合わせて大文字で統一しています。
- 「0x」「0b」「0o」などのプレフィックス付き表記は本ツールでは入力対象外です。プレフィックスを取り除いてから入力してください。
- 負の数の2進表現は2の補数で表示されますが、ビット幅は8/16/32などの定数ではなく必要桁数に応じて切り替わります。固定ビット幅の補数表現が必要な場合は別途整形してください。
用語の補足
- ビット(bit)とバイト(byte):1ビットは0か1の1桁、1バイトは8ビットです。「2バイト整数」と言えば16ビット=0〜65535の範囲を表します。
- 符号なし/符号あり:8ビットの符号なし整数は0〜255、符号あり整数は−128〜127を表します。同じビット列でも解釈が違う点に注意が必要です。
- 2の補数:負の数を表現する標準的な方法。ビット反転(NOT)して1を足すと作れます。