基数変換

非負の整数と基数を指定すると、同じ値を 8 つの基数で表示します。桁数にかかわらず正確に変換し、選んだ基数にない文字は黙って捨てずにその旨を表示します。

ブラウザ内でローカルに実行

基数を変換する手順

数値と、その数値が書かれている基数を選ぶと、同じ値を 8 つの基数(2進数・8進数・10進数・16進数・32進数・58進数・62進数・64進数)で表示します。変換はこのページ内で行われ、入力は送信されません。

値は正確に読み書きします。64 ビットの識別子、長い 16 進数文字列、桁数の多い 10 進数も整数演算で変換するため、末尾の桁が丸められたり、桁数によって結果が変わったりしません。

  1. 数値の基数を選びます(2進数 / 8進数 / 10進数 / 16進数 / 32進数 / 58進数 / 62進数 / 64進数、または「その他の基数」の一覧から 2〜62)。
  2. 「変換する数値」に数値を入力または貼り付けます。選んだ基数の文字だけを受け付けます。
  3. 「今すぐ変換」を押すと、下の 8 つの欄に同じ値が入ります。
  4. 必要な欄をコピーし、「クリア」で入力と結果を消します。

使える文字、大文字と小文字、精度

選べる基数

ボタンと「その他の基数」の一覧で、2〜62 と 64 のすべての基数を扱えます。36 進数までは 0-9 に続けて a-z を使うため、2進数は 0 と 1、16進数は 0-9 と a-f を受け付けます。37 進数以降は A-Z が続きます。26 進数と 52 進数は英字だけを使います。

4 つの基数はこの順序ではなく、公開されている独自の文字表を使います。32進数は Crockford(0-9 と、I・L・O・U を除く A-Z)、58進数は Bitcoin の文字表(1-9、次に O と I を除く A-Z、次に l を除く a-z)、62進数は 0-9 → a-z → A-Z、64進数は RFC 4648 の A-Z a-z 0-9 + / です。63進数は用意していません。

文字の判定と拒否される入力

入力は選んだ基数の文字表と 1 文字ずつ照合します。その基数の数字でない文字があれば、その文字を示し、使える文字を一覧表示して、結果の欄は空のままにします。2進数で 12 は 1 や 3 として読まずに拒否し、10進数で 12ab は拒否します。

大文字と小文字を区別しない基数では、16進数の ff / FF / fF のようにどちらでも入力できます。58進数・62進数・64進数のように大文字と小文字が別の数字になる基数では区別します。先頭の 0 は値に影響せず、数値の前後の空白は無視します。使うのは選んだ基数の文字表にある文字だけなので、小数点・桁区切り・先頭の符号は拒否します(-255 や 12.5 は扱えません)。64進数の + と / は文字表の数字であり、符号ではありません。

扱える範囲と出力形式

整数の桁数に上限はありません。64 ビットの最大値 18446744073709551615 は 16 進数で ffffffffffffffff となり、23 桁の 10 進数もすべての桁を保ちます。小数、負の数、文字列は切り捨てずに拒否します。

結果は数字の並びだけで、0x や 0b などの接頭辞や桁埋めは付けません。16進数は小文字、32進数・58進数・62進数・64進数はそれぞれの文字表を使います。このページが変換するのは数値であり、文字列のバイト列を Base64 や Base58 で符号化するものではありません。

最近使ったツール: