本文へ移動

基数変換ツール

符号なし整数を2進数・8進数・10進数・16進数の間で、桁を失わずに変換します。

BIN ↔ OCT ↔ DEC ↔ HEX

整数を変換

入力データはこのブラウザー内に留まります。

選択した基数で使える数字だけを入力してください。符号・接頭辞・区切り・小数点は不可、最大4,096桁です。

FF

255 (基数 10) に相当します

基数変換ツールの使い方

  1. 符号なし整数を入力し、その数が現在使っている変換元の基数を選びます。
  2. 変換先の基数を選んで「数値を変換」を押します。Numberの安全範囲を超えても整数の全桁を保持します。
  3. 変換後に基数を入れ替えると、正確な結果が次の入力になり往復確認できます。
  4. 結果をコピーすると、両方の値と基数を含むテキスト式を保存できます。

位取り記数法の仕組み

基数は使用する数字の種類を表します。2進数は0–1、8進数は0–7、10進数は0–9、16進数はA–Fも使います。各桁は基数の累乗なので、16進数2Fは2 × 16 + 15 = 10進数47です。

8進数1桁は2進数3桁、16進数1桁は2進数4桁に対応します。同じ符号なしの値を、目的に合う長さで表せます。

計算にはNumberではなくBigIntを使います。そのため9,007,199,254,740,991を超える整数も、入力上限内なら浮動小数点の丸めなしで正確です。

先頭の0は値を変えないため結果では正規化されます。16進数のa–fは大文字・小文字とも入力でき、結果は大文字です。

変換例

例1:10進数255を16進数へ

10進数255を入力して16進数を選ぶとFFになります。255 = 15 × 16 + 15だからです。入れ替えると正確に255へ戻ります。

例2:安全範囲を超える2進整数

2進数100000000000000000000000000000000000000000000000000001は10進数9007199254740993です。BigIntなので元のビット列へ正確に戻せます。

便利な場面

入力規則と制限

対応しているすべての基数変換

変換方向方法正確な例
2進数 から 8進数 (bin から oct)基数として読み取り 2; 基数で表記 8.1010102 = 528
2進数 から 10進数 (bin から dec)基数として読み取り 2; 基数で表記 10.1010102 = 4210
2進数 から 16進数 (bin から hex)基数として読み取り 2; 基数で表記 16.1010102 = 2A16
8進数 から 2進数 (oct から bin)基数として読み取り 8; 基数で表記 2.528 = 1010102
8進数 から 10進数 (oct から dec)基数として読み取り 8; 基数で表記 10.528 = 4210
8進数 から 16進数 (oct から hex)基数として読み取り 8; 基数で表記 16.528 = 2A16
10進数 から 2進数 (dec から bin)基数として読み取り 10; 基数で表記 2.4210 = 1010102
10進数 から 8進数 (dec から oct)基数として読み取り 10; 基数で表記 8.4210 = 528
10進数 から 16進数 (dec から hex)基数として読み取り 10; 基数で表記 16.4210 = 2A16
16進数 から 2進数 (hex から bin)基数として読み取り 16; 基数で表記 2.2A16 = 1010102
16進数 から 8進数 (hex から oct)基数として読み取り 16; 基数で表記 8.2A16 = 528
16進数 から 10進数 (hex から dec)基数として読み取り 16; 基数で表記 10.2A16 = 4210

よくある質問

なぜ16進数FFは10進数255ですか?

15個の16と15個の1なので、15 × 16 + 15 = 255です。

小文字の16進文字は使えますか?

はい。a–fを受け付け、結果は大文字で表示します。

先頭の0が消えるのはなぜですか?

符号なし整数の値を変えないため正規化します。固定幅が必要なら仕様を確認して後から0を補ってください。

大きな整数は丸められますか?

いいえ。BigIntで入力上限まで全桁を保持します。

16進入力を文字や色として解釈しますか?

いいえ。符号なし整数としてのみ扱います。