it

16進数の計算方法は?足し算・引き算・掛け算の手順も!(計算ツール・桁上がり・繰り下がり・演算規則・計算機能など)

当サイトでは記事内に広告を含みます

16進数の計算は、10進数の計算と基本的な考え方は同じですが、16になると桁が上がるという点が異なります。

プログラミングやデジタル回路の設計では、16進数のまま計算する場面も少なくありません。

足し算・引き算・掛け算それぞれに独自の手順があり、桁上がり・繰り下がりのルールを正しく理解することが重要です。

本記事では、16進数の足し算・引き算・掛け算の計算手順・桁上がり・繰り下がりの考え方・計算ツールの使い方まで解説していきます。

16進数の計算の基本ルールと演算規則

それではまず、16進数の計算の基本ルールと演算規則について解説していきます。

16進数の計算で10進数と異なる点は、各桁の値が0〜15(0〜F)の範囲であり、16以上になると次の桁に繰り上がるという点です。

A〜Fをそれぞれ10〜15として扱いながら計算し、合計が16以上になった場合は16で割った余りをその桁の値とし、商(1)を上位桁に繰り上げます。

この「基数が16」という原則さえ守れば、10進数の計算と同じ手順で処理できるでしょう。

16進数計算の基本ルール

・各桁の値は0〜F(0〜15)

・合計が16以上 → 16で割り、余りをその桁に、商を上位桁へ繰り上げ

・引き算で足りない → 上位桁から16を借りてくる(繰り下がり)

・掛け算の結果も16進数に変換して処理する

16進数の足し算の手順

16進数の足し算を具体例で確認します。

16進数「2A」+「1F」の計算

1桁目:A(10)+F(15)= 25 → 25÷16=1余り9 → 1桁目は「9」、1を繰り上げ

2桁目:2+1+1(繰り上がり)= 4 → 4桁目は「4」

答え:16進数「2A」+「1F」=「49」

確認:10進数で 42+31=73、73を16進数変換 → 4×16+9=73 ✓

計算後に10進数で検算する習慣をつけると、ミスを防ぐことができます。

繰り上がりが発生した場合は、上位桁に+1することを忘れないようにしましょう。

桁上がりが連続する場合の処理

足し算でFFなど最大値に近い数値が含まれると、桁上がりが連続する場合があります。

16進数「FF」+「01」の計算

1桁目:F(15)+1=16 → 16÷16=1余り0 → 1桁目は「0」、1を繰り上げ

2桁目:F(15)+0+1(繰り上がり)=16 → 16÷16=1余り0 → 2桁目は「0」、1を繰り上げ

3桁目(新桁):1

答え:「FF」+「01」=「100」

確認:255+1=256、256の16進数→「100」✓

「FF+01=100(16進数)」という計算はコンピューターの8ビットオーバーフローの例としてよく挙げられる典型例でしょう。

16進数の引き算の手順と繰り下がり

続いては、16進数の引き算の手順と繰り下がりの処理を確認していきます。

引き算では、上位桁から数値を借りてくる「繰り下がり」が発生することがあります。

基本的な引き算の手順

16進数「4B」-「1E」の計算

1桁目:B(11)-E(14)→ 足りないため上位桁から16を借りる

 (11+16)-14=13=D → 1桁目は「D」、上位桁から1を借りたため2桁目から1を引く

2桁目:4-1(借りた分)-1=2 → 2桁目は「2」

答え:「4B」-「1E」=「2D」

確認:75-30=45、45の16進数→ 2×16+13=45 → 「2D」✓

繰り下がりが発生した際は、上位桁から「16」を借りてきてその桁の計算を行い、上位桁から1を差し引くという処理を行います。

10進数の引き算で「10を借りてくる」のと同じ考え方で、「16を借りてくる」と覚えておくと混乱しないでしょう。

繰り下がりが連続する場合

16進数「100」-「01」の計算

1桁目:0-1 → 上位桁から借りたいが2桁目も0のため、さらに上から借りる

 3桁目から1借りて2桁目が16、2桁目から1借りて1桁目が16

 16-1=15=F → 1桁目「F」

2桁目:16-1(借りた分)-0=15=F → 2桁目「F」

3桁目:1-1(借りた分)=0(省略)

答え:「100」-「01」=「FF」

確認:256-1=255=「FF」✓

繰り下がりが連続するケースは少し複雑ですが、上位桁から順番に16を借りてくるという規則を丁寧に適用すれば正確に計算できます。

16進数の掛け算と計算ツールの活用

続いては、16進数の掛け算の手順と計算ツールの活用方法を確認していきます。

掛け算は足し算・引き算より複雑になるため、実務では計算ツールを使うことが多いです。

16進数の掛け算の手順

16進数「A」×「3」の計算

A(10)×3=30 → 30÷16=1余り14 → 結果:1E

答え:「A」×「3」=「1E」

確認:10×3=30、30の16進数→1×16+14=30→「1E」✓

掛け算の結果を10進数で求めてから16進数に変換するアプローチが、手計算では最もミスが少ない方法でしょう。

複数桁の掛け算になると計算量が増えるため、実務では計算ツールやプログラムを活用することを強くおすすめします

計算ツールでの16進数演算

Windowsの電卓プログラマーモードでは、HEXモードのまま四則演算(+−×÷)やビット演算が実行できます。

Pythonでは16進数リテラルのまま計算式を書くことができ、結果を自動的に16進数で確認できます。

Pythonでの16進数演算例

0x2A + 0x1F → 73(10進数)、hex(0x2A + 0x1F) → ‘0x49’

0xFF + 0x01 → 256、hex(0xFF + 0x01) → ‘0x100’

0xA * 0x3 → 30、hex(0xA * 0x3) → ‘0x1e’

Pythonでは0xプレフィックスを使えば16進数リテラルをそのまま計算式に使えるため、変換の手間なく演算できるでしょう。

まとめ

本記事では、16進数の足し算・引き算・掛け算の計算手順・桁上がり・繰り下がりの処理・計算ツールの活用まで解説してきました。

16進数の計算は「16になると次の桁に繰り上がる」という基本ルールを守れば、10進数の計算と同じ手順で進められます。

A〜Fを10〜15として扱うことと、繰り上がり・繰り下がりの処理を丁寧に行うことが正確な計算の鍵でしょう。

実務では計算ツールを活用しながら、仕組みの理解は手計算で確認するバランスが大切です。

ぜひ本記事を参考に、16進数の計算力を高めてください。