В моем компиляторе следующий псевдокод (значения заменены двоичным):
sint32 word = (10000000 00000000 00000000 00000000);
word >>= 16;
создает слово
с битовое поле, которое выглядит следующим образом:
(11111111 11111111 10000000 00000000)
Мой вопрос: могу ли я полагаться на такое поведение для всех платформ и компиляторов C ++?