gpt4 book ai didi

C 位掩码和操作问题

转载 作者:行者123 更新时间:2023-12-02 05:16:37 25 4
gpt4 key购买 nike

我是 C 的新手,无法理解位掩码操作的用法。例如我有以下代码

if((input & 0x08)== 0)
{

//Do....//

}

我将输入作为 int 值 00000111 ,二进制和十六进制为 7,但是当我进行比较时,它的计算结果为 false(从不输入 if 语句)。

这是我的理解以及应该发生的事情

          00000111  input
& 00001000 0x08
------------
00000000 answer

所以我的问题是如何获得正确的输出。

最佳答案

int main(){
int input = 7;

if((input & 0x08)== 0)
{
printf("Hello!\n");
}

return 0;
}

你是对的,这个程序打印“Hello!”。

您的代码中肯定还有其他问题。始终尝试创建函数并测试最简单的示例。

尝试在 if 语句之前打印 input 的值。

希望对您有所帮助。

关于C 位掩码和操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551189/

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