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.