Bonjour,

Je tente de convertir un long en 20 bits.
Voila ce que j'emploie:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
long valeur;
char valeur_binaire[21] = {0};
char* sortie;
 
valeur = 1; // pour l'exemple
valeur = valeur + 2^20; // ça me permet d'avoir (en theorie...) le bit de poids fort à 1, 19 bits à 0 et 1 bit à 1 (soit ma valeur) et donc d'avoir ma valeur bien sur au moins 20 bits (sinon j'aurais simplement 1 en binaire et non pas 00000000000000000001)
itoa(valeur, valeur_binaire, 2); // j'écris ma valeur en base 2, sur 21 bit (cf remarque supérieure)
sortie = valeur_binaire + 1; // je viens pointer dans le tableau à partir de l'élément 1 et non 0 pour garder 20 bits seulement et virer le 1 du poids fort.
 
for (byte i = 0; i < 20; i++) {
   Serval.println(sortie[i]);
}
Mais en sortie je n'ai rien à l'affichage (string vide). J'ai affiche "valeur binaire" et j'ai 1 et non 00...001.

Qu'ai je mal fait ?
Merci