Estouro e estouro de C ++

Oi eu sou novo aqui por favor deixe-me saber se alguma coisa está errada e vou tentar melhorar da próxima vez.

Eu estou tentando entender como estouro e estouro funciona em C ++. Meu entendimento é se o intervalo de uma variável é excedido, ele irá iniciar a partir do outro extremo do intervalo. Assim, se o mínimo de curto é -32768 e se fizermos um -1 para ele, o novo valor deve ser SHRT_MAX. (32767) Aqui está o meu código:

<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>

questionAnswers(4)

yourAnswerToTheQuestion