假设我有一个像 1010XXXX 这样的字节,其中 X 值可以是任何值。我想将低四位设置为特定模式,比如 1100,同时不影响高四位。我怎样才能用 C 语言最快地做到这一点?
最佳答案
一般来说:
value = (value & ~mask) | (newvalue & mask);
mask
是一个值,所有要更改的位(并且只有它们)设置为 1 - 在您的情况下为 0xf。 newvalue
是一个包含这些位的新状态的值 - 所有其他位基本上都被忽略了。
这适用于支持按位运算符的所有类型。
关于c - 如何在 C 中只设置一个字节的某些位而不影响其余位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4439078/