Добрый день.
Не совсем С++, но думаю здесь ответят.
unsigned int a = 0xF0000000;
unsigned int b = a>>31; //b ==1 как и ожидается
unsigned int c = a>>32;//c-?
Непонятно почему в приведённом примере c не равняется 0. Почему такое ограничение?
Ладно бы сдвиг был на 33 бита, но в сдвиге на 32 все должно быть в порядке.