如何显示掩码并打开8位整数的MSB? 我尝试过不同的逻辑运算符,但我得不到正确答案
答案 0 :(得分:3)
如果你有一个8位整数,那么转动MSB将设置为'1'位7。
因此掩码为0x80(只有第7位为ON)。
为了设置此位,您可以使用按位OR |
:
#define MSB_MASK 0x80 // or #define MSB_MASK (1 << 7)
int x;
x = x | MSB_MASK; // or x |= MSB_MASK; to make it shorter
答案 1 :(得分:2)
尝试设置8位整数的MSB:
mask = mask|(1<<7)
要显示您可以使用的面具:
char ch[9];
for (int i = 7; i>=0; i--) {
ch[i] = (mask&1)+'0';
mask >>= 1;
}
ch[8] ='\0';
printf("%s", ch);