Вы можете расшифровать самую правую цифру следующим образом:
const unsigned int bcdDigit = bcdNumber & 0xf;
затем вы можете сместить число вправо, чтобы следующая цифра стала самой правой:
bcdNumber >>= 4;
Это даст вам цифры в неправильном порядке (справа налево). Если вы знаете, сколько у вас цифр, вы, конечно, можете извлечь нужные биты напрямую.
Используйте, например, (bcdNumber >> (4 * digitIndex)) & 0xf;
для извлечения digitIndex
: й цифры, где цифра 0 является самой правой.