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