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:
#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;
}