E 'stato un lungo periodo di tempo dall'ultima volta che ho programmato a livello di bit e byte e voluto confermare qualcosa che mi sembra di ricordare di quei giorni:l'aggiunta di due firmato o interi senza segno
Dire che ho due interi di uguale lunghezza (1, 2, 4, 8 byte, non importa) e li aggiungo: il risultato bit-by-bit della somma è diverso se sono firmati o non firmati. In altre parole: indipendentemente dal fatto che siano interi con segno o senza segno, i bit finiranno per essere gli stessi?
La mia intuizione e la mia memoria fragile mi dicono che lo faranno, ma volevo solo confermarlo. Grazie.
IIRC, anche se il risultato sembra OK, lo standard C/C++ dice che l'overflow di interi ha come risultato un comportamento indefinito. ** MODIFICA **: l'aritmetica senza segno non trabocca e segue normalmente il wrap-around. – nhahtdh
@nhahtdh: grazie; va bene. L'ho taggato con C++ perché pensavo che sarebbe stato un buon pubblico a chiederlo, ma lo userò in un'altra lingua. – Eduardo
http://stackoverflow.com/questions/9024826/how-disastrous-is-integer-overflow-in-c – nhahtdh