Pytania otagowane jako integer-overflow

Przepełnienie liczby całkowitej występuje, gdy wynik operacji jest większy niż maksymalna wartość, która może być reprezentowana przez bazowy typ liczby całkowitej.


1
Czy gwarantuje się, że wartość char ustawiona na CHAR_MAX ma być zawijana na CHAR_MIN?
Mój kod: #include <stdio.h> #include <limits.h> int main() { char c = CHAR_MAX; c += 1; printf("CHAR_MIN=%d CHAR_MAX=%d c=%d (%c)\n", CHAR_MIN, CHAR_MAX, c, c); } Wynik: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Widzimy, że kiedy zwiększamy charzestaw zmiennych do CHAR_MAX, zawija się ono do CHAR_MIN. Czy to zachowanie jest gwarantowane? A może …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.