進数変換ツールとは?

2進数、8進数、10進数、16進数、最大36進数まで任意の基数間で数値を変換できます。入力しながら全表現が同時表示され、長い数字はグループ分けで読みやすくなります。

任意の基数で入力するだけで、他の基数表示が同時に更新されます。2進数は4桁ごとのグループ表示を選べて、8進数、10進数、16進数(大文字小文字を保持)に加えて、2〜36の任意基数も入力できます。ビットビューでは各ビット位置を確認でき、クリックで反転したり値全体を左右にシフトしたりできるので、ビットマスクや権限フラグ、色チャンネルのデバッグに便利です。0b・0o・0xなどの接頭辞は自動判別されます。

使い方

  1. 任意の基数で数値を入力します。ドロップダウンで入力基数を選択するか、プレフィックス(0b、0o、0x)を入力します。
  2. 主要な基数への変換結果が即座に横並びで表示され、長い数字は桁区切りで表示されます。
  3. 任意の基数フィールドを直接編集すれば他もリアルタイムで追従します。結果をコピーしたり、ビットビューのビットをクリックして反転したり値をシフトしたり、割り算のステップを確認したり、テキストモードに切り替えて文字列の ASCII コードを読んだりできます。

使用するタイミング

  • 16進カラーコードをRGBや24ビットの2進表現に分解するとき。
  • 低レイヤのドキュメントで同じ値が16進と10進両方で書かれているとき。
  • C・Rust・Verilogでビットマスクを設定し、各ビットを確認するとき。

結果

10進数255を入力:2進数=1111 1111、8進数=377、16進数=FF。または16進数「FF00FF」を入力すると10進数16,711,935が表示されます。

よくある質問

10進数255はなぜ16進ではFF、2進では11111111になるのですか?
255は符号なし8ビット整数の最大値で、すべてのビットが1だからです。16進数は4ビットを1桁にまとめる(1111 = F)ので、ちょうど2桁のFFになります。バイトを16進で表すのが定番なのは、人間が読むときに最もコンパクトだからです。
負の数にも対応していますか?
10進入力でマイナス符号を付けられ、他の基数にも符号が伝わります。実際にメモリに格納されている「2の補数」を見たい場合は、ビットビューを開いて必要なビット幅(8・16・32ビットなど)を選んでください。
対応している最大の基数はいくつですか?
36進数です。0〜9とA〜Zの36文字で表せるアルファベットの上限で、これ以上は別の記号が必要になります。短縮URLサービスやハッシュの切り詰めで使われるため、カスタム基数も36までとしています。
2進数の結果をコピーするとき、先頭の0は残りますか?
桁グループ表示をオンにしていれば残ります。バイト境界(8の倍数)までゼロパディングされて表示されるので、コピーした文字列がデバッガや16進エディタが期待するフォーマットと一致します。
0xや0b付きの値を貼り付けても大丈夫ですか?
大丈夫です。パーサーが0x(16進)、0o(8進)、0b(2進)を認識し、見つからなければ選択中の入力基数として扱います。変換前に接頭辞は自動で取り除かれます。

関連ツール