CCalculate.Studio

🔡 16進数計算ツール

この16進数計算ツールは、16進数のまま加算・減算・乗算を行い、1つの16進値を10進数と2進数に変換することもできます。16進数(基数 16)は数字 0〜9 と英字 A〜F を使い、1桁がちょうど 4 ビットに対応するため、2進データを簡潔に表す標準的な記法として使われています。

最終確認日: 2026-07-07
Add as preferred on Google

16進数の桁の対応表

16進数の各桁は 0 から 15 までの1つの値に対応し、ちょうど 4 桁の2進数に対応します。

16進の桁10進の値2進数(4 ビット)
000000
110001
440100
770111
991001
A101010
C121100
F151111
  • 入力はオペランドあたり16進 12 桁までで、結果は IEEE 754 倍精度で正確に表せる整数の範囲(2⁵³ − 1)に収まる必要があります。これを超える結果は丸めずにエラーとします。
  • 減算では負の結果になることがあり、その場合はマイナス記号を付けて表示します。ここでは2の補数表現は使用していません。

16進数の演算とは

16進数は基数 16 の位取り記数法です。各桁の位置が 16 のべき乗を表し、16 個の数字記号は 0〜9 に続いて A(10)・B(11)・C(12)・D(13)・E(14)・F(15)となります。16進数の 1A は 10進で 1×16 + 10 = 26、2F は 2×16 + 15 = 47 を意味します。

16進数の演算規則は10進数と同じですが、繰り上がりと繰り下がりが 10 ではなく 16 で起こります。16進の桁 A と F を足すと 25 になり、これは16進で 19 です — 9 を書いて 1 繰り上げます。多くの人にとっては、いったん10進に変換して計算し、また戻すほうが簡単で、この計算ツールも内部ではまさにその方法をとっています。

16進数がコンピューティングで重宝されるのは 16 = 2⁴ だからです。16進の1桁がちょうど 4 桁の2進数に対応するため、1バイト(8 ビット)は必ず 00 から FF までの16進2桁で表せます。メモリアドレス、色の値、チェックサム、生のバイトダンプは慣例的に16進で書かれ、しばしば 0x という接頭辞が付きます。

この16進数計算ツールの使い方

  1. 1つ目の16進数を入力します(数字 0〜9 と A〜F。0x の接頭辞は付けても構いません)。
  2. 演算を選びます:加算・減算・乗算、または1つ目の数だけを変換する「変換」。
  3. 演算を行う場合は、2つ目の16進数を入力します。
  4. 結果を16進数・10進数・2進数で確認します。変換モードでは、1つ目の数の10進表現と2進表現が表示されます。

16進数演算の考え方

値 = Σ (位置iの桁) × 16ⁱ、ただしA=10、B=11、C=12、D=13、E=14、F=15
1A₁₆ + 2F₁₆ = 26 + 47 = 73 = 49₁₆

各オペランドを1桁ずつ 16 のべき乗と照らし合わせて10進値を求め、その10進値どうしで演算を行い、結果を繰り返し 16 で割ることで再び16進表現に戻します。

計算例:1A + 2F。10進では 1A = 26、2F = 47 なので、和は 73 です。戻すと、73 ÷ 16 = 4 余り 9 なので、73 は16進で 49、2進では 1001001 になります。筆算でも桁ごとに同じことが起こります:A + F = 25 = 19₁₆ なので 9 を書いて 1 繰り上げ、次に 1 + 2 + 1 = 4 — 結果は 49₁₆ です。

よくある間違い

  • 手計算で16進の桁を足すときに、16 ではなく 10 で繰り上げてしまうこと — A + F は 19₁₆(9 を書いて 1 繰り上げ)であり、25 ではありません。
  • 16進数を10進数として読んでしまうこと:10₁₆ は 10 ではなく 16 であり、100₁₆ は 256 です。
  • 16進値を書き写すときに、英字の O と数字の 0、小文字の l と 1 を取り違えること。
  • 1バイトがちょうど16進2桁であることを忘れること — 先頭のゼロを落とす(0x0F → F)のは数値としては問題ありませんが、固定幅のバイト表記が崩れます。

よくある質問

16進数どうしの足し算はどうやりますか?

10進の筆算とまったく同じように右の桁から順に足し、桁の合計が 16 に達したら繰り上げます。1A + 2F の場合:A(10)+ F(15)= 25 = 16 + 9 なので 9 を書いて 1 繰り上げ、続いて 1 + 2 + 1 = 4。結果は16進で 49、10進では 73 です。

数値の前に付く 0x は何を意味しますか?

0x という接頭辞は、その数値が16進数であることを示し、10進数と区別するためのものです。C 言語に由来し、今ではほぼ共通の記法になっています:0x1A は16進の 1A、つまり10進の 26 を意味します。この計算ツールは接頭辞の有無どちらの入力も受け付けます。

16進数を10進数に変換するには?

各桁の値に、右端を 0 として数えた位置に応じた 16 のべき乗を掛け、合計します。2F なら 2×16 + 15×1 = 47。1A3 なら 1×256 + 10×16 + 3×1 = 419 です。英字 A〜F は値 10〜15 を表します。

16進数を2進数に変換するには?

各16進の桁を、対応する 4 ビットの2進数に置き換えるだけです:2F は 0010 1111 になります。この桁ごとの置き換えが使えるのは 16 = 2⁴ だからで、計算は一切不要です。これこそ16進数が2進データの略記として使われる最大の理由です。

この計算ツールは負の16進数を扱えますか?

減算の結果が負になることがあり、その場合は先頭にマイナス記号を付けて表示します(例:5 − A = −5)。プロセッサが内部で使う固定幅の慣例である2の補数表現は使用していません。2の補数では、同じビットパターンが大きな符号なしの値にも負の符号付きの値にもなり得ます。

参考文献

  1. Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition, Addison-Wesley, 1997 — radix arithmetic and conversion.
  2. IEEE Std 754-2019. IEEE Standard for Floating-Point Arithmetic — exact-integer limits of double precision.

数体系 · すべての計算ツール

関連する計算ツール