Dlaczego różni się między -2147483648 a (int) -2147483648

Gdy uruchomię następujący kod w Windows7 x64, skompilowany z GCC MinGW, wynik wydaje się być niedopełniony:

cout<<-2147483648 ;    //Output: 2147483648

ale kiedy przypisałem go do zmiennej całkowitej lub po prostu konwertowałem na typ int:

cout<<(int)-2147483648 ; //Output: -2147483648 

Więc co jest nie tak z poprzednią wersją mojego kodu? Czy nie jest to typ int? lub czym dokładnie jest dolna granica liczby całkowitej? Wielkie dzięki.

questionAnswers(4)

yourAnswerToTheQuestion