Je suis en train d'écrire une bibliothèque pour Module RTC dans Arduino où les données sont stockées dans BCD. Je sais comment le nombre décimal est converti en BCD mais a un problème en l'écrivant par programme. Après avoir cherché sur Internet, j'ai eu deux formules qui sont comme suit et fonctionnent parfaitement mais ne peuvent pas comprendre comment cela se calcule.BCD à décimal et décimal BCD
1. Formule 1
décembre DCB
(value/10 * 16) + (value % 10)
Exemple
décembre -> 40 qui converti en en BCD qui est encore égal à 64.
Donc si je mets dans la formule, j'obtiens le même résultat.
(40/10 * 16) + (40%10)
= (4*16) + 0
= 64
BCD à décembre
(value/16 * 10) + (value % 16)
2. formula2
DEC BCD
val + 6 * (val/10)
BCD à décembre
val - 6 * (val >> 4)
Si quelqu'un peut l'expliquer dans les détails, il sera utile.
Merci à tous à l'avance.