En cherchant une fonction permettant la conversion d'une valeur BCD (« Binary coded decimal ») vers un décimal, je suis tombé sur un forum où une personne demande comment améliorer sa fonction pour prendre en compte des
unsigned long
, sa fonction de base étant :
int decimal(int bcd)
{
return ((bcd>>4)*10)+bcd%16;
}
Solution proposée par un kissikoné : modifier les types
int
en
unsigned long
. Par contre il précise aussi qu'évidemment, ça ne marchera que pour des nombres compris entre 0 et 99.
Certains feraient mieux de ne rien dire plutôt que de passer pour un… PEBKAC.
A - C'est mal expliqué ?
B - Je ne précise pas ce qu'est le BCD (Clem à rajouté la définition de l'acronyme) ?
C - C'est bidon ?
D - Obi Wan Kenobi ?