gpt4 book ai didi

c - 读取位的宏不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:18 25 4
gpt4 key购买 nike

我正在尝试用 C 编写一个宏,它获取一个字节 (char) 和一个索引,然后它从该字节读取第 index 位。这是我得到的:

#define READBIT(byte, index) (byte) & (1 << (index))

这就是我检查它的方式:

for (i = 7; i >= 0; i--)
{
printf("%d", READBIT('a', i));
}

它打印0643200001

为什么它不起作用,我该如何解决?

最佳答案

#define READBIT(byte, index) (((unsigned)(byte) >> (index)) & 1)

注意到 >><<更好地定义为无符号值。

关于c - 读取位的宏不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24684005/

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