C ++ subdesbordamiento y desbordamiento

Hola, soy nuevo aquí, así que avíseme si algo está mal y trataré de mejorar la próxima vez.

Estoy tratando de entender cómo funciona el desbordamiento y el desbordamiento en C ++. Mi entendimiento es que si se excede el rango de una variable, comenzará desde el otro extremo del rango. Por lo tanto, si el mínimo de corto es -32768 y si le hacemos un -1, el nuevo valor debería ser SHRT_MAX. (32767) Aquí está mi 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>

Respuestas a la pregunta(4)

Su respuesta a la pregunta