計算の仕組み
入力を元の基数で1桁ずつ読み(値 = 値 × 基数 + 数字)任意精度の整数にするため、数百桁でも丸めは起きません。それを目的の基数へ割り算を繰り返して書き出します。
結果には2進数、8進数、10進数、16進数を読みやすく区切って並べ、ビット長とバイト長も表示します。負の数は8・16・32・64ビットに収まる場合、2の補数のビットパターンも表示します。
10より大きい基数の数字
0〜9の後はアルファベットが数字の続きになります。16進数ではA = 10、B = 11 … F = 15、36進数ではZ = 35まで使います。大文字と小文字は同じ意味です。
| 10進数 | 2進数 | 8進数 | 16進数 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
ポイント
- 16進数1桁はちょうど4ビット、8進数1桁は3ビットなので、プログラマーは2進数の短縮表記として使います。
- 755のようなUnixのファイル権限は8進数です:7 = rwx、5 = r-x。
- 36進数(0〜9とA〜Z)は短いIDに便利です。1,000,000はLFLSです。
計算の基準と出典
- ECMAScript言語仕様:BigInt · Ecma International(TC39)
- ECMAScript言語仕様:Number.prototype.toString(radix) · Ecma International
最終確認 2026年10月17日
よくある質問
10進数を2進数にするには?
2で割り続け、余りを最後から読みます。13 ÷ 2の余りは1、0、1、1なので13は1101です。このツールはどんな大きさでもすぐ計算します。
16進数を10進数にするには?
各桁に16のべき乗を掛けて足します。FF = 15 × 16 + 15 = 255。
大きさの制限はありますか?
JavaScriptのBigIntで計算するので精度の制限はありません。ページが重くならないよう、入力は4,096桁までです。
小数も変換できますか?
いいえ、整数だけです。小数部分は別の基数では終わらないことが多いためです(10進数の0.1は2進数で無限に続きます)。