Компилятор меняет значение переменной при переполнении
Программа выводит непонятный для меня ответ: -15478. В C++ новичок, хочу разобраться досконально в этом вопросе. Я использовал вместо int short, зная его ограничения. Но по приколу решил посмотреть. Почему выводится именно такой ответ?
#include <iostream>
using namespace std;
int main() {
short num = 639882;
cout << num;
return 0;
}```