10進数の42は、2進数で 101010、8進数で 52、16進数で 2A です。 授業で手計算した値やプログラムのログを確かめるなら、まず入力の基数を決めます。ビット列として読む場合は幅と符号、文字ならエンコードも確認します。
2進数・8進数・10進数・16進数の早見表
| 基数 | 使う文字 | 42の表記 | 用途 |
|---|---|---|---|
| 2 | 0・1 | 101010 |
ビット列 |
| 8 | 0〜7 | 52 |
権限の表記 |
| 10 | 0〜9 | 42 |
件数や表示 |
| 16 | 0〜9・A〜F | 2A |
バイト値やログ |
右端の重みはどの基数でも1です。10進数の123は 1×100 + 2×10 + 3。2進数の 101010 は 32 + 8 + 2 = 42 です。
10進数から2進数へは余りを逆から読む
42÷2の余りは0です。商21をさらに2で割り、商が0になるまで続けると、余りは記録した順に 0, 1, 0, 1, 0, 1。最後の余りが最上位なので、逆から読んで 101010 です。
2進数から16進数へは右から4桁ずつ
| 2進 | 16進 | 2進 | 16進 |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
逆向きでは16進数の各桁を4ビットに直します。3F は 0011 1111。整数の値を確認するだけなら先頭の0を省けますが、1バイトの仕様や固定幅のファイルでは8ビットを保持します。8進数では2進数を右から3桁ずつ区切るので 101 010 は 52 です。
この記事の例を試す
101010を2進数として変換
入力基数を2進数にして101010を入力し、8進52、10進42、16進2Aを比べます。
FFは255か−1か?符号とビット幅の判断
| 用途 | 入力の解釈 | 結果 |
|---|---|---|
| 整数の進数変換 | FF を16進数として読む |
10進255 |
| 符号付き8ビット | 11111111 の2の補数 |
−1 |
| 符号付き16ビット | 00FF の2の補数 |
255 |
| 文字のデコード | 1バイト 41 をUTF-8で読む |
A |
幅が w ビットで最上位ビットが1なら、2の補数として読むときは符号なしの値から2の w 乗を引きます。FF は符号なしで255、8ビットの符号付きなら 255 − 256 = −1。16ビットの 00FF は最上位ビットが0なので255です。JavaScriptで8ビットの解釈を確認する例は BigInt.asIntN(8, 255n) です。
このツールは整数表記を変換するため、10進数で -1 を入力すると16進結果は -1 です。固定幅のビット列へ符号化する場合は、変換前に8ビット・16ビットなどの仕様を決めます。
入力エラーと大きな整数の検算手順
- 入力の基数を選びます。例えば
0xFFを変換するなら16進数を選び、入力欄にはFFだけを入れます。 - 小数点、桁区切り、接頭辞、基数にない桁を確認します。2進数の
102や8進数の8はエラーです。 - コピーした結果を戻すときは基数も記録します。コピーには表示用の区切りや接頭辞が付きません。
- JavaScriptの安全な整数範囲を超える値では、元の文字列から直接読みます。例えば10進
9007199254740993は16進20000000000001。先にNumberで丸められた値から元の桁は復元できません。
この記事の例を試す
安全な整数範囲を超える例を確認
10進で9007199254740993を入力し、16進の結果をコピーして20000000000001と比べます。
16進ログがUnixミリ秒を格納している場合は、例えば 18BCFE5687B を10進 1700000000123 にしてからUnix時間変換へ進めます。16進文字列がUUIDならUUIDの形式を確認します。文字を読みたいときはHexとUTF-8の解説へ。開発ツール一覧から各ツールに移動できます。
編集部の確認範囲
2026年11月9日に、公式仕様と手計算・ツールの整数変換を照合しました。表の数値は計算例です。固定幅の整数や文字列を解釈するときは、入力元の仕様を確認してください。
よくある質問
2進数101010は16進数でいくつですか?
右から4桁ずつ区切って0010 1010とし、2とAに置き換えると2Aです。10進数では42です。
16進数FFは255ですか、それとも−1ですか?
通常の整数としてFFを変換すると255です。8ビットの2の補数として解釈する場合は255−256で−1です。16ビットの負の1はFFFFになります。
0xFFや0b1010をそのまま入力できますか?
このツールでは入力の基数を別に選びます。16進数ならFF、2進数なら1010と入力してください。0x・0b・内部の空白を除きます。
小数や文字コードも変換できますか?
進数変換ツールは整数用です。小数は対象外です。16進バイト41を文字Aに戻すならHex・文字列変換を使います。整数としての41は10進65です。