進数変換ツール
2進数・8進数・10進数・16進数をリアルタイムに相互変換
数値を入力(いずれかのフィールドに)
よく使う値
各進数の用途
2進数:コンピューターの基本。CPUが直接扱うビット表現
8進数:Unixのファイルパーミッション(chmod 755 など)
10進数:日常で使う数値表現
16進数:カラーコード(#FF5733)、メモリアドレス、バイナリデータ
よくある質問
16進数のA〜Fは何を意味しますか?
16進数(hexadecimal)では、0〜9 の次にA(10)、B(11)、C(12)、D(13)、E(14)、F(15) を使い、合計16種類の文字で1桁を表します。これにより、4ビット(0000〜1111 = 0〜15)を正確に1桁で表現できるため、コンピュータのバイト(8ビット = 2桁の16進数)表現に最適です。例: 0xFF = 255、0xCAFE = 51966。
非常に大きな数は変換できますか?
JavaScriptの`Number`型は IEEE 754 倍精度浮動小数点数で、整数として正確に扱える範囲は ±2^53 - 1(約 9.007 × 10^15)までです。これを超える巨大な数は精度が失われます。`BigInt` を使えば任意精度の整数を扱えますが、本ツールでは `Number.MAX_SAFE_INTEGER` 範囲内でのご利用を推奨します。
負の数に対応していますか?
本ツールは正の整数(および0)に対応しています。負の数の場合は、絶対値を変換してから先頭に "-" を手動で付けてください。コンピュータ内部での負数表現には「2の補数」が使われ、8ビット2の補数で -1 = 11111111 (binary) = 0xFF (hex) ですが、これは特殊な表現方法のため、本ツールでは扱っていません。
小数点を含む数字は変換できますか?
本ツールは整数のみ対応しています。小数を含む数の進数変換(例: 0.5 → 0.1₂、0.25 → 0.01₂)は、小数点以下を別途乗算で求める計算が必要です。プログラミング用途で小数の進数変換が必要な場合は、Python の `format()` や手動計算をお試しください。
8進数で8と9が使えないのはなぜですか?
8進数(octal)は0〜7の8種類の数字のみを使用します。「8」「9」を含む数値は8進数として無効です。8進数で「8」を表すには、繰り上がって「10」となります(0〜7の次は10)。Linuxのファイル権限(chmod 755 など)で8進数が使われ、各桁が0〜7の権限ビット組合せを表します。
2進数のプレフィックス「0b」とは?
プログラミング言語では数値の進数を明示するため、(1) 2進数: `0b` または `0B`(例: 0b1010 = 10)、(2) 8進数: `0o`、`0O`、または先頭`0`(例: 0o17 = 15)、(3) 16進数: `0x` または `0X`(例: 0xFF = 255)、というプレフィックスが使われます。これによりリテラルが何進数かを明確に区別できます。
進数変換の活用シーンは?
(1) Linuxファイル権限の8進数表記の理解(chmod 755 など)、(2) ネットワーク機器のIPv6アドレス読解(16進数)、(3) Web開発のカラーコード(#FF5733 = RGB(255, 87, 51))、(4) 低レベルプログラミング(C/Rust)でのビット演算、(5) 暗号や符号理論の学習、(6) コンピュータサイエンス・情報処理の基礎学習、で頻繁に使われます。
なぜコンピュータは2進数を使うのですか?
コンピュータは電気信号の「ON/OFF」(電圧高/低)を最小単位とするため、2状態(0/1)で表現する2進数が物理的に最適です。10進数を直接電子回路で扱うには10種類の電圧レベルが必要で、ノイズに弱く実装が複雑です。2進数は16進数(4ビットで1桁)と相性が良く、メモリアドレスや色コードの表記によく使われます。