Niedopełnienie i przepełnienie C ++
Cześć, jestem tu nowy, więc daj mi znać, jeśli coś jest nie tak i postaram się poprawić następnym razem.
Próbuję zrozumieć, jak działa niedopełnienie i przepełnienie w C ++. Rozumiem, że jeśli zakres zmiennej zostanie przekroczony, rozpocznie się od drugiego końca zakresu. Zatem jeśli minimum to -32768, a jeśli wykonamy -1, nowa wartość powinna być SHRT_MAX. (32767) Oto mój kod:
<code>#include<iostream.h> #include<limits.h> #include<conio.h> int main ( void ) { int testpositive =INT_MIN ; short testnegative = SHRT_MIN ; cout<< SHRT_MIN<<"\n"; cout << testnegative-1<<"\n"; cout << INT_MIN << "\n"; cout << testpositive-1 << "\n"; cout<<testpositive-2; getch(); return 0; } </code>