Le 29 novembre 2021 à 12:11:27 StopCobide a écrit :
Le 29 novembre 2021 à 12:05:15 :
pour ceux qui font pas d'info
un octet c'est 8 bit
qui vont de 0000 0000 à 1111 1111
et base 2 (binaire)
en base 10 ca va de 0 à 255
et comme on peut pas dépasser 255 ca repart à 0
en fait ca passe à de 1111 1111 à 1 0000 0000 et ca coupe le premier 1
voila je me sentais obligé
Sauf que tu dis à moitié de la merde, il n'y a rien qui fait que, je cite
comme on peut pas dépasser 255 ca repart à 0
dans l'addition binaire. L'interdiction de dépasser 255 tient au type utilisé (uint8_t) et non à l'addition elle-même.
Quant au fait que l'addition soit faite après projection dans Z/2^8Z, c'est une convention du C et en rien mathématique, le compilateur pourrait aussi te cracher une erreur à l'exécution (ce que fait Rust par exemple en mode debug) ou bien faire à la place une addition avec saturationhttps://image.noelshack.com/fichiers/2017/02/1484173541-cc-risitas596.png