Right shift y entero con signo

En mi compilador, el siguiente pseudocódigo (valores reemplazados por binario):

sint32 word = (10000000 00000000 00000000 00000000);
word >>= 16;

produces aword con un campo de bits que se ve así:

(11111111 11111111 10000000 00000000)

Mi pregunta es, ¿puedo confiar en este comportamiento para todas las plataformas y compiladores de C ++?

Respuestas a la pregunta(5)

Su respuesta a la pregunta