10得票4回答
如何高效地检查位掩码?

我正在使用inotify,并希望高效地检查报告的位掩码事件(请参见inotify手册页面)。 现在,我可以暴力检查每个事件上的每个位,但这将极为粗略,甚至愚蠢,因为每次我都会有N个条件语句。或者,是否调用 ( bitmask & mask ) == mask 对于已经非常高效的每...

8得票2回答
位掩码的正确使用方法是什么?

嘿嘿,我有一个关于位掩码的问题。我现在知道它们是什么以及它们可以在哪里使用。 我想要为特定的组存储特定权限,例如BUILD、BREAK和INTERACT,也可能是更多。下面的代码应该可以做到这一点,但我不确定这是否是正确的“风格”。 这个想法是在这里使用前3位来存储第一组的权限,然后使用下一...

23得票5回答
从SELECT查询中直接匹配IP和IP + CIDR的方法是否存在?

类似这样: SELECT COUNT(*) AS c FROM BANS WHERE typeid=6 AND (SELECT ipaddr,cidr FROM BANS) MATCH AGAINST 'this_ip'; 这样你就不需要先从数据库获取所有记录,然后逐个匹配。 如...

7得票4回答
Java中的位掩码操作

考虑以下情景:我已经分配了这些值。在DB中,数据是通过遮蔽这些值存储的,根据每个产品的可用性进行遮蔽。例如,像这样所有的产品都被遮盖并存储在DB中。如何基于掩码值检索所有零售商?例如,对于床垫,掩码值为24。那么我该如何以编程方式找到或列出Costco & BJ's?任何算法/逻辑都将非常感激。

25得票3回答
如何检查位掩码中是否包含某一位?

我不太理解这个“bitmask”概念。 假设我有一个掩码:var bitMask = 8 | 524288; 我知道这是如何将8和524288组合为524296,但是,要怎么做相反的操作呢?如何检查是否包含 8 和/或 524288? 让它变得更加复杂一些,假设我有一个位掩码为183585...

12得票2回答
简化(A & B) && !(A & C)

A、B和C是某种无符号整型变量。从概念上讲,A是一个测试向量,B是“必需”位的掩码(至少一个对应的位在A中必须设置),而C是“禁止”位的掩码(A中不能设置任何对应的位)。由于我们同时使用位运算和逻辑运算符,因此通常看来合理的解决方案为A & B & ~C 是不正确的。相反,标题...

24得票4回答
在C语言中如何仅设置一个字节的特定位而不影响其余位?

说我有一个字节,像这样的 1010XXXX,其中 X 的值可以是任何东西。 我想将低四位设置为特定模式,例如 1100,同时不影响高四位。在 C 语言中,我该如何以最快的速度实现这一点?

15得票2回答
将掩码位移至最低有效位 (LSB)

当你使用掩码对数据进行and运算时,你会得到与数据/掩码相同大小的结果。我想做的是将结果中被掩码为1的位向右移动,使它们相邻,并且可以对它们执行CTZ(Count Trailing Zeroes)操作。 我不知道如何命名这样的过程,所以谷歌无法帮助我。这个操作最好不要用循环来解决,必须尽可能...

7得票3回答
如果((attributes & FileAttributes.Hidden) == FileAttributes.Hidden),那么它是如何工作的?

在这个页面上,我看到以下代码: if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden) 但我不明白为什么它是这样的。 为什么是 attributes & FileAttributes.Hidd...

14得票5回答
在Python中将64位整数转换为8个单独的1字节整数

在Python中,我获得了一个64位整数。这个整数是通过将多个不同的8位整数混合在一起创建的,形成一个巨大的64位整数。我的任务是再次将它们分离。 例如:Source number: 2592701575664680400 Binary (64 bits): 0010001111111011...