c - 如何在C中一次清除多个位?

标签 c bit-manipulation

我如何将所有这些简化为一行?很抱歉这个菜鸟问题-我是C的新手。

    REG &= ~BITA;
    REG &= ~BITB;
    REG &= ~BITC;
    REG &= ~BITD;
    REG &= ~BITE;
谢谢!

最佳答案

您可以使用|(按位或)运算符。

REG &= ~(BITA | BITB | BITC | BITD | BITE);

关于c - 如何在C中一次清除多个位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63158929/

相关文章:

c# - 在 ushort 中设置位范围

c - C 中的 bool 数组和按位运算

c - 将二维数组从 Julia 传递到 Fortran

在 C 中关闭文件描述符(或套接字)

optimization - 这种并行处理颜色分量的颜色混合技巧是如何工作的?

java - 使用按位移位运算符进行相乘,得到 TLE

c - 二维数组的升序,不起作用..?

c - 多线程 mprotect 的行为

c++ - 在 C++ 中将 64 位值左移 64 位给出奇怪的结果

c - 我如何在 C 中找到 x 的任何位是否等于 1