nicetool.dev logo

進数変換

どの欄に入力しても他の欄が更新されます。接頭辞 0b、0o、0x と桁区切りも使えます。

8 ビット1 バイト8ビットに収まる

2の補数

8ビット1111 11110xFF
16ビット0000 0000 1111 11110x00FF
32ビット0000 0000 0000 0000 0000 0000 1111 11110x000000FF
64ビット0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 11110x00000000000000FF

固定長の整数型にどのように格納されるかを示します。負の数は2の補数で表し、符号付きの最大値を超える値は符号なしとして表示します。

進数(基数)とは?

進数(基数)とは、位取り記数法で使う数字の個数のことです。人は10進数で数え、コンピューターは2進数でデータを保存し、プログラマーはメモリアドレスや色、バイト値を16進数で読みます。16進数の1桁がちょうど4ビットに対応するためです。このツールは任意精度の整数を使うので、64ビット以上の値も丸めずに正確に変換できます。

機能

  • • 2進数・8進数・10進数・16進数を並べて表示、2〜36進数にも対応
  • • BigInt による任意サイズの整数、負の数にも対応
  • • 接頭辞 0b、0o、0x と桁間のスペースやアンダースコアを受け付け
  • • ビット長・バイト長、桁のグループ化、16進数の大文字表示
  • • 8/16/32/64ビット整数の2の補数表示

高速でプライベート

変換はすべて入力と同時にブラウザ内で実行されます。数値がサーバーに送信されることはありません。

BigInt による正確な計算、100% クライアントサイド。

進数変換の使い方

  1. 1

    2進数、8進数、10進数、16進数、任意の進数のどの欄にでも数値を入力します。0x、0b、0o の接頭辞や 1_000、スペースなどの区切りも使えます。

  2. 2

    ほかの欄がすぐに更新されます。任意の進数欄では 2〜36 を選べ、たとえば短い ID には36進数が便利です。

  3. 3

    長い値は桁のグループ化をオンにすると読みやすくなります(2進数は4桁ずつ、16進数はバイトごと)。16進数の大文字・小文字も選べます。

  4. 4

    ビット長と2の補数の表で、値が 8・16・32・64 ビット整数でどう格納されるかを確認し、必要な形式をコピーします。

活用例

16進ダンプやカラーコードを読む

0xFF は255なので、CSS の色 #FF8000 は赤255、緑128、青0を意味します。バイトごとに変換すれば色やバイナリ形式のデバッグに役立ちます。

Unix のファイル権限

chmod 755 は8進数です。2進数にすると 111 101 101 となり、所有者は読み書き実行、グループとその他は読み取りと実行が可能という意味です。

ビットフラグとマスク

整数で保存されたフラグは2進数にするとわかりやすくなります。13 は 1101 なので、フラグ 0、2、3 が立っています。

低レベルコードの負の数

C の API が返す 0xFFFFFFFF は、符号付き32ビット整数として見ると -1 です。2の補数の表で両方の解釈を確認できます。

よくある質問

プログラマーが16進数を使う理由は?+

16進数の1桁はちょうど4ビットを表し、2桁で1バイトになります。メモリアドレス、色、ハッシュ、バイト値は2進数より16進数の方がずっと短く読みやすくなります。

2の補数とは?+

コンピューターが符号付き整数を保存する標準的な方法です。最上位ビットが負の重みを持つため、8ビットでは 11111111 が -1、10000000 が -128 を表します。

桁数の上限はありますか?+

実用上ありません。BigInt を使うため、64ビットをはるかに超える数も、浮動小数点に切り替えて桁を失う電卓とは違い正確に変換されます。

10より大きい進数ではどんな文字を使う?+

0〜9 の後に A〜Z の文字を使います。16進数は 0〜9 と A〜F、36進数はすべての数字と26文字を使います。入力時の大文字・小文字は区別しません。