Может ли кто-нибудь уточнить, что происходит, когда целое число передается в short в C? Я использую Raspberry Pi, поэтому я знаю, что int - 32 бита, поэтому short должен быть 16 бит.
Скажем, я использую следующий код C, например:
int x = 0x1248642;
short sx = (short)x;
int y = sx;
Я понял, что x будет усечен, но может кто-нибудь объяснить, как именно? Используются ли сдвиги? Как точно усечено число от 32 бит до 16 бит?