打开8位整数的MSB

时间:2015-08-30 18:26:49

标签: c

如何显示掩码并打开8位整数的MSB? 我尝试过不同的逻辑运算符,但我得不到正确答案

2 个答案:

答案 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);