[Résolu] résultat bizare multiplication

Bonjour,

Si je fais :

unsigned long arf = 256*256;
Serial.print("arf "); Serial.print(arf); Serial.print(" bin "); Serial.println(arf, BIN );

j'obtiens 0 !
par contre ceci s'affiche correctement :

unsigned long arf = 65536;
Serial.print("arf "); Serial.print(arf); Serial.print(" bin "); Serial.println(arf, BIN );

vieille version de l'IDE (1.8.7) ou de moi-même ?

édit : pareil pour 256 << 8 : tête à toto

Bonjour,

Le calcul est fait en entier -> il y a overflow
il faut faire
unsigned long arf = 256UL*256UL;

Bonjour Kamil, ok, merci !