Bonjour bonjour,
J'ai eu d'autres projets durant la semaine, je me suis réintéressé au code et j'ai trouvé la solution !!!!
const byte nombreDeBits = 8; // Max 32
unsigned long n = 1;
unsigned long resultat = 0;
char chaine[nombreDeBits + 1] = "10101100";
void setup() {
Serial.begin(9600);
for (byte i = 0; i < nombreDeBits; i++) {
Serial.print("2 puissance "); Serial.print(i); Serial.print(" = "); Serial.print(n);
Serial.print(" - Lecture du bit "); Serial.println(nombreDeBits-i);
// une seule ligne de code manque ici :) pour faire simple
resultat = resultat + (chaine[7-i]-48)*n;
n = 2 * n; // ou on peut écrire n <<= 1; // Bitwise left shift assignment
}
Serial.print("Resultat = 0x"); Serial.println(resultat, HEX);
Serial.print("Resultat = B"); Serial.println(resultat, BIN);
Serial.print("Chaine = B"); Serial.println(chaine);
}
void loop() {}
Ce qui fait donc que j'ai rajouté la ligne resultat = resultat + (chaine[7-i]-48)*n;
Du coup, J-M-L est-ce bien la ligne que vous avez développé ?