進数変換

このツールでできること

2進数・8進数・10進数・16進数を相互変換するツールです。さらに、テキスト文字列を1文字ずつ2進数・16進数・10進数(ASCII/Unicode コードポイント)に変換することもできます。プログラミングのデバッグ、教育、CTF、データ解析など幅広い用途で使えます。

数値モード

  • 2進数(Binary) — 0と1のみで表現する基数2の数値。
  • 8進数(Octal) — 0〜7で表現する基数8の数値。
  • 10進数(Decimal) — 日常的に使う基数10の数値。
  • 16進数(Hexadecimal) — 0〜F で表現する基数16の数値。色コードやメモリアドレスでよく使われます。

テキストモード

文字列をUTF-8でバイト列に変換し、各バイトを2進数・16進数・10進数で表示します。逆に、2進数/16進数/10進数の並びをテキストに戻すこともできます。ASCII 範囲外の日本語などもUTF-8 で多バイトに展開されます。

使い方

  1. 「数値」または「テキスト」モードを選びます。
  2. どの欄に入力しても、他の欄が自動で更新されます。
  3. テキストモードでは、たとえば Hello を入力するとバイト列の変換結果が表示されます。
  4. 2進数欄に「01001000 01100101 01101100 01101100 01101111」を入力すると Hello に戻ります。

こんなときに使えます

  • プログラミングのデバッグ — メモリダンプやバイナリプロトコルの 16進数を 10進数に戻して検証。
  • カラーコード変換 — CSS の #FF5733 を RGB の 10進数(255, 87, 51)に変換して理解。
  • IPアドレス変換 — IPv4 の各オクテット(0〜255)と2進数表現の相互変換。
  • CTF・バイナリ解析 — 隠されたメッセージやフラグの復号。
  • 学校の課題 — 情報科学・アルゴリズムの授業での進数計算。
  • Unicode コードポイント確認 — 「あ」→ U+3042 → 12354(10進数)の変換。
  • シフト演算の学習 — 2進数のビットパターンを目で確認しながら << >> の挙動を理解。

進数の基礎知識

N進数とは「N種類の数字を使って数を表す方法」です。人間は指が10本あるため10進数に慣れていますが、コンピュータは ON/OFF の2状態を扱うため2進数が自然です。16進数は2進数4桁を1文字で表せるため、メモリアドレスやカラーコードのように長い2進数を短く書きたいときに使われます。

代表的な変換例

  • 10進数 255 = 2進数 11111111 = 16進数 FF
  • 10進数 256 = 2進数 100000000 = 16進数 100
  • 10進数 65535 = 16進数 FFFF(16bit の最大値)
  • 16進数 DEADBEEF = 10進数 3735928559(よく使われる埋め草値)
  • 文字 A = ASCII 65 = 2進数 01000001 = 16進数 41

よくある質問

負の数は扱えますか?
数値モードでは符号付き10進数に対応しています。2進数・16進数は符号なしとして扱います。符号付き2進数(2の補数表現)が必要な場合は、別途ビット幅を決めて手動で変換してください。
非常に大きな数値は?
JavaScript の BigInt を使って任意精度で計算しているため、264 を超える数値でも扱えます。暗号学的な大きな数の変換にも対応可能です。
テキストモードで日本語は?
はい。UTF-8 で複数バイトに展開して表示します。たとえば「あ」は3バイト(E3 81 82)となります。ASCII 番号欄には Unicode コードポイント(12354)を表示します。
16進数は大文字・小文字どちらでも使えますか?
入力はどちらでも受け付けますが、出力は大文字で統一します。CSS のカラーコードなど一部の用途では小文字が好まれる場合があるので、必要に応じて編集してください。
2の補数表現は?
本ツールは2の補数表現には対応していません。符号付き整数の内部表現を学ぶ場合は、ビット幅を決めて手動計算する必要があります。
小数(浮動小数点)は?
本ツールは整数のみ対応しています。浮動小数点数(IEEE 754)の内部表現を確認したい場合は、別の専用ツールをご利用ください。