pipipipi.net

基数変換

2進数・8進数・10進数・16進数を相互変換します。

ビット幅
16進数

2進数: 0と1のみ。コンピュータの基本単位

8進数: 0〜7。Unix権限表記に使用

10進数: 0〜9。日常で使う数値表記

16進数: 0〜9, a〜f。メモリアドレスやカラーコードに使用

基数変換でできること

2進数・8進数・10進数・16進数を相互に変換できるオンラインツールです。いずれかの入力欄に数値を入力すると、残り3つの基数への変換結果がリアルタイムで反映されます。インストールやアカウント登録は不要で、ブラウザだけで動作します。

対応している基数は2進数(0と1のみ)・8進数(0〜7)・10進数(0〜9)・16進数(0〜9およびa〜f)の4種類です。入力値が各基数の有効範囲外の文字を含む場合はエラーメッセージが表示されます。負の数には対応していません。

ビット幅の指定に対応しています。「自動」のほか、8bit・16bit・32bit・64bitから選べます。ビット幅を選択すると、2進数・8進数・16進数の表示がそれぞれの桁数でゼロ埋めされます。入力値がビット幅の最大値を超えた場合はオーバーフロー警告を表示します。たとえば8bitを選択した場合、最大値は10進数で255(2進数で11111111、16進数でff)となります。16進数の表示は小文字(a〜f)と大文字(A〜F)を切り替えられます。また、入力した値が最低何ビットで表現できるかを自動計算して表示します。

使い方

ビット幅ボタン(自動 / 8bit / 16bit / 32bit / 64bit)
表示するビット幅を選択します。選択した幅に応じて2進数・8進数・16進数がゼロ埋めされます。範囲を超えた場合はオーバーフロー警告が表示されます。ビット幅の制約を意識したい場面(8ビットマイコンの値確認など)に便利です。
16進数 大文字・小文字切り替え
16進数の出力をa〜fの小文字、またはA〜Fの大文字で表示するかを切り替えます。ソースコードのスタイルガイドや、CSSカラーコードの記法に合わせて使い分けられます。
2進数 / 8進数 / 10進数 / 16進数 入力欄
任意の欄に値を入力すると、他の基数の欄がリアルタイムで自動変換されます。無効な値(2進数欄に「2」を入力するなど)を入力した場合はエラーメッセージが表示されます。
ビット数表示
入力された値が何ビットで表現できるかを自動で計算し表示します。たとえば10進数の255を入力すると「8ビット」と表示されます。変数型のサイズ選択に役立ちます。

活用シーン

  • プログラミングのデバッグ — デバッガでメモリの内容を確認する場合、アドレスや値は16進数で表示されます。「0x1F」が10進数でいくつか、2進数ではどのビットが立っているかを素早く確認できます。ビット演算の結果を検証する際にも便利です。
  • デジタル回路・マイコン開発 — マイクロコントローラのレジスタ設定は2進数や16進数で記述します。各ビットの意味(制御フラグ、タイマー設定など)を確認しながら10進数との対応を取るために使えます。8bit・16bitといったビット幅を指定してゼロ埋め表示できるため、レジスタのビット構造が把握しやすくなります。
  • WebデザインのCSSカラーコード確認 — CSSでは色を16進数(例: #ff5733)で指定します。RGBの各チャンネル値は0〜255(16進数では00〜ff)です。10進数のRGB値を16進数に変換したい場面や、カラーコードの各バイト値を確認したい場面で活用できます。大文字・小文字の切り替えにも対応しています。
  • Unix/Linuxのファイルパーミッション確認 — Unixシステムのファイル権限は8進数で表現します。たとえば755は8進数で「読み取り=4、書き込み=2、実行=1」の組み合わせです。8進数と2進数の対応を確認することで、各権限ビットの意味を直感的に把握できます。
  • IPアドレスとサブネットマスクの計算補助 — サブネットマスクの計算では、10進数の値を2進数で確認する作業が必要になります。「255.255.255.0」が2進数でどのようなビット列になるかを確認したり、CIDRのプレフィックス長を理解する際の補助として使えます。

2進数・8進数・16進数が使われる場面

コンピュータの内部はすべて2進数(0と1)で動作しています。2進数は電気信号のオン・オフに対応しており、デジタル回路の基本となります。ただし、2進数をそのまま書くと桁数が多くなりがちです。たとえば10進数の255は2進数で11111111(8桁)になります。

この視認性の問題を解決するために、8進数と16進数が使われます。8進数は2進数3桁をまとめて1桁で表現でき、16進数は2進数4桁をまとめて1桁で表現できます。16進数では10以上の数をa〜fの文字で表すため、1バイト(8ビット)の値が常に2桁(00〜ff)で表記できます。メモリアドレス・カラーコード・バイナリデータの表示に16進数が多用されるのはこのためです。

8進数はUnix系OSのファイルパーミッション表記として広く使われています。所有者・グループ・その他の3者それぞれの権限(読み取り・書き込み・実行)が3ビットで表現でき、8進数の1桁(0〜7)に対応します。現在はchmodコマンドのシンボル表記(rwxなど)も普及していますが、数値表記として8進数が今も使われています。

符号あり整数と2の補数表現

このツールは0以上の整数(符号なし整数)に対応しています。プログラミングでよく使われる「符号あり整数」の場合は、負の数を2の補数(two's complement)で表現します。2の補数は、ある数のすべてのビットを反転して1を加算した値です。たとえば8ビットの場合、10進数の-1は2進数で11111111(16進数でff)となります。

CPUのレジスタやC言語のint型などは符号あり整数として扱われます。デバッガで0xffffffffという値を見た場合、符号なし整数として解釈すれば4294967295(32ビット最大値)、符号あり整数として解釈すれば-1になります。どちらの解釈が正しいかはデータの型によります。このツールで各基数の対応を確認しながら、データ型の意味を把握するのに役立ちます。

関連ツール

  • chmod計算ツール — Unixファイルパーミッションの数値(8進数)とrwx表記を相互変換します。基数変換と組み合わせてビットレベルで権限を確認できます。
  • 単位換算ツール — 長さ・重さ・温度・データサイズなどの単位を変換します。データサイズをKB・MB・GB間で換算する場合に便利です。
  • Base64エンコード/デコードツール — テキストやバイナリデータをBase64形式に変換します。バイナリデータをテキストとして扱う際の基礎知識として、進数表現と合わせて学べます。

プライバシーについて

入力した数値はすべてブラウザ内で処理されます。サーバーへのデータ送信は行いません。アカウント登録も不要です。