gpt4 book ai didi

c - 用于设置和清除位的宏

转载 作者:行者123 更新时间:2023-11-30 18:04:57 28 4
gpt4 key购买 nike

我试图编写一些简单的宏来简化设置和清除位的任务,这应该是一个简单的任务,但我似乎无法让它们正常工作。

#define SET_BIT(p,n) ((p) |= (1 << (n)))
#define CLR_BIT(p,n) ((p) &= (~(1) << (n)))

最佳答案

尝试

#define CLR_BIT(p,n) ((p) &= ~((1) << (n)))

但是,由于一般宏邪恶的各种原因,我建议不要使用宏。使用内联函数并按引用传递,如下所示:

static inline void set_bit(long *x, int bitNum) {
*x |= (1L << bitNum);
}

关于c - 用于设置和清除位的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194814/

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