進数変換ツール
2進数、8進数、10進数、16進数間の変換、2-36の任意の基数をサポート
任意のフィールドに値を入力すると、他のすべての進数への変換結果が即座に表示されます。
2から36までの任意の基数間で変換します。
進数変換ツールのドキュメント
進数(基数)とは?
進数(基数)とは、位取り記数法で数値を表すために使用される固有の数字の数を定義するものです。日常生活で最も一般的な基数は10進数(基数10)で、0-9の数字を使用します。コンピュータは主に2進数(基数2)を使用し、プログラマーはバイナリデータをより簡潔に表現するために16進数(基数16)や8進数(基数8)を頻繁に使用します。
一般的な進数システム
| 基数 | 名称 | 数字 | 一般的な用途 |
|---|---|---|---|
| 2 | 2進数 | 0, 1 | デジタル回路、コンピュータメモリ、マシンコード |
| 8 | 8進数 | 0-7 | Unixファイルパーミッション、レガシーコンピューティングシステム |
| 10 | 10進数 | 0-9 | 日常の数学、人間が読める数値 |
| 16 | 16進数 | 0-9, A-F | メモリアドレス、カラーコード(CSS/HTML)、バイト表現 |
進数変換の仕組み
ある進数から別の進数への変換には、主に2つのステップがあります:
- 元の数値を10進数(基数10)に変換:各桁にその位置の値(基数^位置)を掛け、すべての値を合計
- 10進数の結果を目標の基数に変換:目標の基数で繰り返し除算し、余りを集める
- 余りを逆順に読み取り、目標の基数での最終結果を得る
変換例
2進数 1101 → 10進数: (1×8) + (1×4) + (0×2) + (1×1) = 13
各2進数の桁位置は2のべき乗を表します:右から左へ、2⁰=1, 2¹=2, 2²=4, 2³=8 など。
クイックリファレンス表 (0-15)
| 10進数 | 2進数 | 8進数 | 16進数 |
|---|
一般的な使用例
- プログラミング:メモリアドレスのデバッグ、ビット演算の理解、低レベルデータの操作
- Web開発:CSS/HTMLカラーコードをRGB10進数と16進数形式間で変換
- ネットワーキング:異なる形式のIPアドレス、サブネットマスク、MACアドレスを理解
- デジタルエレクトロニクス:論理回路の分析、2進演算の理解
- データ分析:エンコードされたデータの操作、バイナリファイル形式の解析
ヒントとコツ
- 16進数のA-Fは10進数の10-15を表します。0xFFは10進数の255に等しいです。
- 各16進数の桁は正確に4つの2進数の桁(ビット)を表し、16進数は2進数の便利な省略形となっています。
- このツールはBigIntを使用して任意精度をサポートし、非常に大きな数値も精度を失うことなく変換できます。
よくある質問
数の基数とは何ですか?進数変換はどのように機能しますか?
基数(Radix)は数を表すのに使われる固有の数字の数を定義します。10進数(base 10)は0~9を使用し、2進数(base 2)は0と1のみ、16進数(base 16)は0~9とA~Fを使います。変換するには、10進数値を目標の基数で繰り返し割って余りを集めるか、先に10進数に変換してから目標の基数に変換します。
プログラマーが16進数をよく使う理由は何ですか?
16進数はコンパクトで2進数との対応が明確です。16進数の1桁はちょうど4ビット(ニブル)を表します。メモリアドレス、カラーコード、バイト値を一目で把握できます。8ビットの1バイト(0~255)はちょうど16進数2桁で表せますが、2進数では8桁必要です。メモリダンプやネットワークパケット、CPUレジスタはすべて16進数で読む方がはるかに簡単です。
2進数、8進数、16進数の違いは何ですか?
3つとも位取り記数法ですが基数が異なります。2進数(base 2)は0と1のみを使用し、トランジスタの動作に近いです。8進数(base 8)は0~7の数字を使い、古いUnixシステムのファイルパーミッション(例:chmod 755)でよく使われました。16進数(base 16)は現在最も一般的で、低レベルプログラミング、カラーコード、メモリ表現に使われます。
負の数を2進数に変換するにはどうすればよいですか?
最も一般的な方法は「2の補数」です。ほぼすべての現代CPUが採用しています。求め方:(1)絶対値を2進数で書く、(2)全ビットを反転させる(1の補数)、(3)1を加える。たとえば8ビットの2の補数で-5は11111011です。このツールは符号なし整数を扱います。符号付き数や2の補数演算には専用のビット演算計算機をお使いください。
Base32やBase58エンコーディングとは何ですか?
Base32は26文字とA~F以外の数字(2~7)合わせて32文字を使用します。視覚的に混乱しやすい0/OやI/lのような文字を避けています。Base58(ビットコインアドレスで使用)は58文字のアルファベットを使い、同様に0、O、I、lを除外しています。これらのエンコーディングは最大の圧縮率よりも人間の可読性とエラー耐性が重要な場合に使われます。