gpt4 book ai didi

c# - 如果位掩码包含位,我该如何检查?

转载 作者:IT王子 更新时间:2023-10-29 04:52:45 28 4
gpt4 key购买 nike

我不太理解整个位掩码概念。

假设我有一个面具:

var bitMask = 8 | 524288;

我明白这就是我将 8524288 组合起来并得到 524296 的方式。

但是,我该如何走另一条路呢?如何检查我的位掩码,看它是否包含 8 和/或 524288

为了让它更复杂一点,假设我的位掩码是 18358536 我需要检查 8524288 是否是在那个位掩码中。我到底该怎么做?

最佳答案

好吧

if (8 & bitmask == 8 ) {
}

将检查位掩码是否包含 8。

更复杂

int mask = 8 | 12345;
if (mask & bitmask == mask) {
//true if, and only if, bitmask contains 8 | 12345
}

if (mask & bitmask != 0) {
//true if bitmask contains 8 or 12345 or (8 | 12345)
}

可能对枚举感兴趣,尤其是 FlagsAttibute .

关于c# - 如果位掩码包含位,我该如何检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479981/

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