ツール
JA

10進数から16進数への変換ツール

10進数を入力すると16進数の値がすぐに表示され、16で割る計算過程も自動で示されます。負の数は、8・16・32・64ビットの2の補数で表示することもできます。

ヒント:1行に1つずつ数値を入力すると、リストをまとめて変換できます。

各進数での表記

16進数
10進数
2進数
8進数

プライバシー保護:データはお使いのブラウザ内で処理され、アップロードされることはありません。

10進数→16進数変換ツールの使い方

  1. 10進数を入力します。1行に1つずつ入力すれば、リストもまとめて変換できます。負の数や0.75のような小数にも対応しています。
  2. 16進数の結果が2進数・8進数とあわせてすぐに表示されます。計算過程の表では、16で割るごとの商と余りを確認できます。
  3. 負の数を2の補数の16進数で表すには、符号付き(2の補数)にチェックを入れてビット幅を選びます。−1は8ビットでFF、32ビットでFFFFFFFFになります。

10進数を16進数に変換する計算方法

16で繰り返し割る方法を使います。

  1. 数値を16で割り、余り(0~15)を書き留めます。
  2. 商をさらに16で割り、商が0になるまで繰り返します。
  3. 各余りを16進数の1桁(10 = A、11 = B、12 = C、13 = D、14 = E、15 = F)に置き換え、最後の余りから最初の余りへ順に並べます。

例:6719を16進数に変換します。

割り算商余り
6719 ÷ 1641915 = F
419 ÷ 16263
26 ÷ 16110 = A
1 ÷ 1601

余りを下から上へ読むと1A3Fになります。検算:1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719。

10進数の小数を16進数に変換する

小数点以下の部分は、16で割るのではなく16を掛けます。各積の整数部分が、次の16進数の桁になります。0.75 × 16 = 12なので、0.75は16進数で0.Cです。

16進数では割り切れない小数もあります。0.1 × 16 = 1.6で最初の桁は1、次に0.6 × 16 = 9.6で9となり、以降は9が無限に続くため、0.1 = 0.1999…です。このツールではこうした値を16進数12桁に丸め(0.19999999999A)、≈の記号を付けて表示します。

負の10進数を16進数で表す(2の補数)

コンピューターは、負の数−nをwビットで2ʷ − nとして格納します。ビットパターンを求めるには、負の値に2ʷを足してから16進数に変換します。8ビットの−26は256 − 26 = 230 = E6です。

10進数8ビット16ビット32ビット
−1FFFFFFFFFFFFFF
−2FEFFFEFFFFFFFE
−26E6FFE6FFFFFFE6
−12880FF80FFFFFF80

よくある質問

255は16進数でいくつですか?

255は16進数でFFです。255 ÷ 16 = 15 余り15、続いて15 ÷ 16 = 0 余り15となり、どちらの余りもFと書きます。FFは1バイトで表せる最大の値です。

Excel・Python・JavaScriptで10進数を16進数に変換するには?

ExcelとGoogleスプレッドシートでは=DEC2HEX(255)でFFになります。Pythonではformat(255, 'X')でFF、hex(255)で0xffが得られます。JavaScriptでは(255).toString(16)でffです。Excelでは負の数が10桁の2の補数で返され、=DEC2HEX(-1)はFFFFFFFFFFになります。

0.1が16進数で正確に表せないのはなぜですか?

1/10は16分の1、256分の1…といった値の有限個の和で表せないため、16進数では桁が無限に繰り返されます(0.1999…)。10進数で1/3 = 0.333…となるのと同じです。2分の1、4分の1、8分の1、16分の1を組み合わせた小数なら正確に表せ、16進数で0.5 = 0.8、0.75 = 0.Cとなります。

非常に大きな数も変換できますか?

はい。任意精度演算を使っているため、18446744073709551616(2⁶⁴)も正確に10000000000000000に変換できます。通常のJavaScriptの数値で正確に扱える上限2⁵³をはるかに超える値です。