進数変換ツール
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。
非常に大きな数は変換できますか?
桁数の上限はありません。本ツールは任意精度の整数(`BigInt`)で計算しているため、JavaScriptの通常の数値型で正確に扱える範囲(±2^53 - 1、約 9.007 × 10^15)を超える値でも誤差なく変換できます。64ビット整数の最大値(0xFFFFFFFFFFFFFFFF = 18446744073709551615)や、ハッシュ値のような非常に長い16進数もそのまま変換できます。
負の数に対応していますか?
先頭に「-」を付けた負の整数に対応しており、結果も「-1010」のように符号付きで表示します(-10 → 2進数で -1010、16進数で -A)。なお、コンピュータ内部で使われる「2の補数」表現(8ビットで -1 = 11111111 = 0xFF)には変換しません。2の補数はビット幅によって結果が変わるため、必要な場合は別途計算してください。
小数点を含む数字は変換できますか?
本ツールは整数のみ対応しています。小数を含む数の進数変換(例: 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桁)と相性が良く、メモリアドレスや色コードの表記によく使われます。