gpt4 book ai didi

c - 我想计算一个无符号字符的逆掩码

转载 作者:太空狗 更新时间:2023-10-29 17:16:59 28 4
gpt4 key购买 nike

我想计算一个无符号字符的逆掩码。这意味着如果原始掩码 0xc0 逆掩码应该是 0x3f。也就是说所有的位都应该翻转或反转。我已经尝试了下面但没有' 似乎在工作。

int flipBit(int x, unsigned char position)
{
int mask = 1 << position;
return x ^ mask;
}

int main(int argc , char* argv[])
{
uint8_t mask = 0x03;
uint8_t inverse_mask = 0;
uint8_t temp = 0;
int loop = 0;

for (loop = 0; loop < 8 ; loop ++)
{
temp = flipBit(mask,loop);
inverse_mask |= temp;
}
printf("mask 0x%x inv mask 0x%x \n",mask,inverse_mask);
return 0;
}

我得到的结果是掩码 0x3 inv 掩码 0xff

我似乎无法在我的代码中找到错误。

最佳答案

为什么你不能这样做:

uint8_t mask = 0x03;
uint8_t inverse_mask = ~mask;

关于c - 我想计算一个无符号字符的逆掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com