本文へ移動
ZEKILO Dev

進数変換

数値を入力すると、2進数・8進数・10進数・16進数と任意の進数で一度に表示します。

入力はブラウザの外に出ませんECMAScript基準日 2026.10.03

入力

Escを押してからTabを押すと、入力欄から移動できます。

出力

各進数の値
2進数—
8進数—
10進数—
16進数—
36進数—

進数変換の使い方

  1. 1入力欄に数値を入力するか、「例を入れる」を押します。
  2. 2入力の進数を選びます。接頭辞の 0b、0o、0x は自動で判別します。
  3. 3必要な行の末尾にある「コピー」ボタンを押します。

進数変換のオプション

入力の進数
2、8、10(既定)、16、カスタム から選びます。数値が 0b、0o、0x で始まる場合は、その接頭辞が進数を決めます。
カスタム進数
2~36の進数です(既定は36)。入力の進数でカスタムを選ぶとこの進数で読み取り、結果の表の最後の行には常にこの進数の値を表示します。
負の数
符号(-)(既定)は負の数の前に - を付けます。2の補数(8・16・32・64ビット)は2進数・8進数・16進数の行を固定幅のビット列で表示し、10進数とカスタム進数の行は符号のままにします。
2進・16進を4桁ごとに区切る
オン(既定)では2進数と16進数を4桁ごとにスペースで区切って表示します。ほかの行は区切りません。
コピー時にスペースを含める
オフ(既定)ではコピーボタンが桁区切りのスペースを除いた数字だけをコピーします。オンにすると表示どおりにコピーします。

BigIntで正確に計算します

JavaScriptの数値は64ビット浮動小数点数で、整数を正確に表せるのは2の53乗までです。parseInt と Number.prototype.toString で作った変換ツールは、64ビットのIDやハッシュのようにそれより大きい値の下の桁を気づかないうちに変えてしまいます。このツールはすべての計算を ECMAScriptの任意精度整数 BigInt で行うため、結果のすべての桁が正確です。入力は1,000桁まで受け付けます。

10より大きい進数では、10~35の値を英字の a~z で表します。そのため最大の進数は36です。

2の補数

Nビットの2の補数では、負の値 v を 2^N + v のビット列として保持します。8ビットでは -1 は 256 - 1 = 255 で、11111111 と書きます。範囲は -128~127 です。2進数・8進数・16進数の行はこのビット列をビット数に合わせて0で埋めて表示し、10進数とカスタム進数の行は値そのものを符号付きで表示します。

進数変換の例

  • 10進数を2進数・8進数・16進数に

    桁区切りをオンにすると、2進数の行は 1111 1111 と表示されます。コピーすると 11111111 になります。

    入力

    255

    出力

    2進数: 11111111
    8進数: 377
    16進数: ff
  • 0x の接頭辞が付いた16進数

    入力の進数に何を選んでいても、接頭辞が進数を決めます。

    入力

    0x7fffffff

    出力

    10進数: 2147483647
  • 64ビットに収まらない大きな数

    2の64乗です。どの桁も丸められません。

    入力

    18446744073709551616

    出力

    16進数: 10000000000000000
  • 負の数の8ビット2の補数

    負の数:2の補数 8ビット。

    入力

    -1

    出力

    2進数: 11111111
  • 8ビットの最小値

    負の数:2の補数 8ビット。-129 は8ビットの範囲(-128~127)の外としてお知らせします。

    入力

    -128

    出力

    2進数: 10000000
  • 進数に合わない文字

    入力の進数:16。

    入力

    12g

    出力

    16進数に 'g'(3文字目)は使えません。

例は、このツールを検証している基準ケースの値です。

進数変換のよくある質問

入力したデータはサーバーに送信されますか?

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

とても大きな数も正確に変換できますか?

はい。浮動小数点数ではなくBigIntの整数で計算するため、18446744073709551616(2の64乗)は丸められずに16進数の 10000000000000000 になります。入力は1,000桁まで対応しています。

0.5 のような小数は変換できますか?

いいえ。整数のみ対応しています。小数点がある場合はエラーとしてお知らせします。

2の補数はどのように動作しますか?

8、16、32、64ビットから選びます。8ビットでは -1 は 11111111、-128 は 10000000 です。値はそのビット数の符号付きの範囲に収まる必要があるため、8ビットでは -128 より小さい値や 127 より大きい値を範囲外としてお知らせします。

どの文字を入力できますか?

選んだ進数で使える数字と英字(大文字・小文字どちらも)、先頭の + または -、そして 0b、0o、0x の接頭辞を使えます。数字の間のスペースとアンダースコアは無視するので、1111 1111 や 0xFFFF_FFFF もそのまま入力できます。

進数に合わない文字があるとどうなりますか?

どの文字が何文字目にあるかをお知らせします。16進数で 12g を入力すると、'g'(3文字目)は16進数に使えないと表示されます。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: ECMAScript
  • エンジン: ZEKILO Dev 進数変換 (BigInt) (自社実装)
  • 接頭辞の文字が選んだ進数の数字でもある場合は、数字として読み取ります。入力の進数が16のときの 0b1 は2進数の 1 ではなく、16進数の b1 です。
  • 結果の英字は小文字です。空の入力はエラーではありません。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)