Étape 3: De décimal en binaire : décomposer les nombres en 1 s et 0 s
Dire que nous voulons trouver la représentation binaire du nombre décimal 23. Tout d’abord, nous remarquons que 23 est une combinaison du nombre 3 dans les 10 ^ position 0 et le numéro 2 dans la 10 ^ 1 position, ce qui signifie que lorsque nous pesons chaque numéro selon sa position (2 * 10 ^ 1 + 3 * 10 ^ 0) nous obtenons le nombre 23. Si nous avons essayé de faire la même chose en binaire nous serait venu avec le numéro 10111 parce que 1 * 2 ^ 4 + 0 * 2 ^ 3 + 1 * 2 ^ 2 + 1 * 2 ^ 1 + 1 * 2 ^ 0 = 23. Bien sûr, trouver la représentation binaire d’un nombre relativement restreint comme 23 peut être fait sans beaucoup de calcul. Mais pour un plus grand nombre, il devient nécessaire d’utiliser l’algorithme suivant :
-Augmentation de 2 ^ 0, trouver la première puissance de 2 qui est supérieure au nombre décimal nous avons
-En commençant par la puissance de 2 immédiatement inférieure à celle que nous avons trouvé dans la première étape, divisez le nombre décimal par les puissances de 2 par ordre décroissant, tout le chemin jusqu'à 2 ^ 0
-Après chaque étape de la division, nous devrions obtenir un 1 ou un 0 comme le quotient et une valeur de reste. Le reste devrait finalement aller à 0 (cela peut se produire avant la dernière étape de division)
-1 s et 0 s obtenue comme les quotients donnent la représentation binaire du nombre décimal
Eh bien, si nous n’avons pas passé par le processus avant, tout cela ressemble à charabia. Rien de tel en passant par un exemple pour éclaircir les choses. Dire que nous voulons trouver la représentation binaire du nombre décimal 117. Nous allons essayer de suivre l’algorithme ci-dessus (je vais utiliser quelques réglages personnels) :
-Nous commençons par 2 ^ 0 qui est plus petit que 117, donc nous continuons à augmenter. 2 ^ 1 est plus petit, continuez... Bon alors nous arrivons à 2 ^ 5, qui est encore plus petit que 117, mais dès que nous avons atteint 2 ^ 6, nous remarquons que c’est la « première puissance de 2 qui est plus grande que le nombre décimal nous avons »
-Donc, nous savons que nous devons commencer avec la puissance de 2 immédiatement au-dessous de 2 ^ 6, qui est 2 ^ 5. [Réglages personnels] puisque nous savons que nous allons être divisant par toutes les puissances de 2 inférieur à 2 ^ 5, j’ai les écrire tous au préalable donc je n’oublie pas. Je me rappelle aussi que le reste de la division devrait se terminer à 0 (bien qu’il pourrait se transformer en 0 le long du chemin.
Diviseur | Reste | Quotient
2 ^ 6 (64) | |
2 ^ 5 (32) | |
2 ^ 4 (16) | |
2^3 (8) | |
2^2 (4) | |
2^1 (2) | |
2^0 (1) | |
0
-Avec tout ce que la valeur, nous commençons les étapes de la division :
Diviseur | Reste | Quotient
2 ^ 6 (64) | 117 | 1
2 ^ 5 (32) | 53 |
2 ^ 4 (16) | |
2^3 (8) | |
2^2 (4) | |
2^1 (2) | |
2^0 (1) | |
0
117, divisé par 64 donne un quotient de 1 et un reste de 53. Ainsi, nous savons qu’en 7e position de notre représentation binaire de 117, il y aura un 1 (p. ex., 1XXXXXX). Pour obtenir les autres positions, nous continuons tout simplement le processus de division :
Diviseur | Reste | Quotient
2 ^ 6 (64) | 117 | 1
2 ^ 5 (32) | 53 | 1
2 ^ 4 (16) | 21 | 1
2^3 (8) | 5 | 0
2^2 (4) | 5 | 1
2^1 (2) | 1 | 0
2^0 (1) | 1 | 1
0
- Et ainsi, nous obtenons que la représentation binaire du nombre décimal 117 est 1110101. Il faut se rappeler, que, même si le reste passe à 0 avant la dernière étape de la division, nous devons continuer le processus jusqu'à 2 ^ 0. Ainsi, dans le cas du nombre décimal 48 :
Diviseur | Reste | Quotient
2 ^ 5 (32) | 48 | 1
2 ^ 4 (16) | 16 | 1
2^3 (8) | 0 | 0
2^2 (4) | 0 | 0
2^1 (2) | 0 | 0
2^0 (1) | 0 | 0
0
La représentation binaire est 110000 au lieu de 110, qui nous obtiendrions si nous cessions de plongée lorsque le reste d’abord atteint 0. Savoir comment faire tomber un certain nombre dans son constituant 1 s et 0 s est très nécessaire pour être en mesure de transmettre les données à le WS281X.