gpt4 book ai didi

c++ - 如何检查两个位图上的值?

转载 作者:行者123 更新时间:2023-11-30 05:15:44 25 4
gpt4 key购买 nike

我有两个 bit maps我需要检查其中一个值是否存在。我是否需要检查两者,或者我可以添加它们并检查一次吗?

最佳答案

取决于您对“添加”的含义。我假设你的意思是按位或

const unsigned char map = map1 | map2;

很明显,如果在其中一个映射中设置了一个位,它也会在最终的 map 中设置。 .但是,我无法给出哪个版本更快的建议,执行按位或然后检查

bool bitIsSet = (map1 | map2) & maskForBit;

或者检查两者并使用逻辑或

bool bitIsSet = (map1 & maskForBit) || (map2 & maskForBit);

但我想它在您的应用程序中不会是速度方面的关键点(否则测试它!)。这似乎更像是一个品味问题,或者你可以更好/更快地阅读/理解什么。

编辑汉斯的评论只是提醒我,你也可以意味着该位应该专门设置在一张 map 中。在这种情况下,只需在第一种情况下将按位或与按位异或交换,并将逻辑或交换为不等于 !=。在第二种情况下。

关于c++ - 如何检查两个位图上的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952487/

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