進数変換ツール

2進数・8進数・10進数・16進数をリアルタイムに相互変換

数値を入力(いずれかのフィールドに)

0b
0o
0x

よく使う値

各進数の用途

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桁)と相性が良く、メモリアドレスや色コードの表記によく使われます。