おふとんの中から

その辺に転がってるエンジニアの備忘録

BCDコードってなんだっけ

こんばんは。ゆいなです。

自分の備忘録も兼ねて技術ネタとは言い切れない初心者記事でも。

 

仕事でBCDコードを扱う必要がある処理を実装することに。

値がBCDコードで3桁らしいので

桁ごとにBCDコードを確認して一意の値を取り出す必要がありそう?

それとも普通の2進数計算のようにビット演算で纏めて見れるのか・・・?

 

そもそもBCDコードってなんだったっけ・・・?

ということでGoogle先生にお世話になってみました。

 

二進化十進表現 - Wikipedia

10進数の0〜9を桁ごとに2進数で表現するとの内容。

 

ということははビット演算でなんとでもなるかもしれない。

 

試してみよう。

BCDコードで「999」を表現すると

「1001 1001 1001」となる。

これをビット演算して16進数で表した場合は

「0x999」

 

あれ、これいけんじゃね(

 

一つ一つ桁を見て判定するよりかはビット演算を行った方が処理的にも軽く済むし、コードも見やすいのかなと思ったり。

 

後はどう処理して一意の値を見つけるかかなー。