Мне нужно преобразовать число типа Long в C в число BCD (двоичное кодированное десятичное число) с 4 битами каждый. Я могу использовать только битовое смещение и битооперации. Может ли кто-нибудь помочь мне достичь этого. На данный момент я не знаю, как достичь своей цели.
unsigned long convertBinaryToBCD(unsigned long number){
int number_t_conv = number;
int num_digit = 0;
int count_digits = countNumberDigits(number);
for(num_digit = 0; num_digit <= count_digits; num_digit++){
}
return (((number_t_conv/100) << 8) | ((number_t_conv/10) << 4) | (number_t_conv % 10));
};