Используйте логический оператор И &
.Например:
char c = ....
if ( (c & 0xFF) == 0xFF) ... // test char c for zeroes
Возможно, вы захотите использовать сдвиги и макросы для его автоматизации вместо использования числовых констант, потому что для разных типов вам понадобятся разные значения для проверки MSB.Вы можете получить значение для смен, используя sizeof
.
// test MSB of an int for zeroes
int i = ...
if ( ( i & (0xFF << 8*(sizeof(int)-1))) == (0xFF<<8*(sizeof(int)-1))) ...