進数変換ツール
2進数・8進数・10進数・16進数を相互変換。リアルタイム同時表示、ビット数計算、プレフィックス自動判別。BigInt対応で64bit超の大きな数値も変換可能。
2進数・8進数・10進数・16進数を相互変換。リアルタイム同時表示、ビット数計算、プレフィックス自動判別。BigInt対応で64bit超の大きな数値も変換可能。
進数(基数、radix)とは、数値を表現するための桁の数え方のことです。日常生活では10進数(0〜9の10種類の数字)を使いますが、コンピュータの世界では2進数・8進数・16進数が頻繁に使われます。
進数変換は、ある基数で表現された数を別の基数に変換する操作です。基本的な考え方は「いったん10進数に変換してから目的の基数に変換する」方法です。
2進数 1101 を10進数に変換する場合:
1×23 + 1×22 + 0×21 + 1×20
= 8 + 4 + 0 + 1
= 13
10進数 13 を2進数に変換する場合、2で割り続けて余りを逆から読みます:
13 ÷ 2 = 6 余り 1
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
→ 余りを逆順に並べて 1101
16進数の1桁は2進数の4桁に対応するため、簡単に相互変換できます。例えば 0xFF = 1111 1111(2進数)= 255(10進数)。
多くのプログラミング言語では、数値リテラルの基数をプレフィックスで指定できます。
0b1010 = 10進数の10。JavaScript, Python, C/C++, Rust, Go などで使用。0o17 = 10進数の15。JavaScript(ES6), Python3, Rust で使用。C/C++では 017(先頭0のみ)。0xFF = 10進数の255。ほぼすべての言語で使用。本ツールではプレフィックス付きの入力も自動検出します。例えば「0xFF」と入力すると、自動的に16進数モードに切り替わります。
進数変換が必要になる主なシーンをまとめました。
chmod 755 の各桁は8進数(7 = rwx = 111、5 = r-x = 101)ビット演算(bitwise operation)は、整数を2進数で表現した各ビットに対して行う演算です。低レベルプログラミングやパフォーマンス最適化で多用されます。
0b1100 & 0b1010 = 0b10000b1100 | 0b1010 = 0b11100b1100 ^ 0b1010 = 0b0110~0b1100 = 0b0011(ビット幅に依存)0b0001 << 3 = 0b1000(1→8)0b1000 >> 2 = 0b0010(8→2)本ツールで数値を2進数に変換すれば、ビット演算の結果を視覚的に確認できます。