gpt4 book ai didi

算法帮助 : Calculate binary possibilities whilst ignoring zero bits

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:36 24 4
gpt4 key购买 nike

我正在尝试开发一种算法来测试二进制数 A 是否是二进制数 B 的“子数”。

如果仅使用 B 的“1”位就可以创建 A,则 A 是 B 的子数。

例如:

如果 B = 十进制 5 = 二进制 101然后 A = {100,001,101} 因为他们只使用 B 中活跃的位。

如果 B = 十进制 8 = 二进制 1000那么 A = {1000}

如果 B = 十进制 7 = 二进制 1110那么 A = {1000,0100,0010,1100,0110,1010,1110}

n(A) = (2^(有效位数))-1

我如何开发一个测试来判断十进制数 x 是否在十进制数 B 的集合 A 中?例如。 IsSubNumber(A,B)

IsSubNumber(1,7) = 真IsSubNumber(2,8) = 假

这有意义吗?

谢谢!

最佳答案

AB 的子数,如果 AB 之间的按位与等于 A.

示例:1000 & 1110 = 10001010 & 1110 = 1010101 & 101 = 101...

在Java中:

boolean isSubNumber(int a, int b) {
return (a&b) == a;
}

关于算法帮助 : Calculate binary possibilities whilst ignoring zero bits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22838303/

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