11得票2回答
从一个长整型数中获取位范围的Java代码

我需要从一个长整型值中提取特定的位范围,例如:long input = 15367 (11110000000111) 我需要做的是从原始长整型值中提取两个长整型数值。First long is 5 bits starting from bit 0, so bits 0:4 = 7 (0111)...

11得票4回答
使用SQL确定子网掩码的CIDR值

我希望能够通过SQL查询计算存储在数据库中的子网掩码的CIDR(位表示法)。例如,我在数据库中存储了255.255.255.0或其十进制值(4294967040)。我想通过查询选择并获取/24的表示方式。 我已经尝试过类似以下的方法来确定子网的最后一个IP地址,因此我希望能够采用类似的方式确...

11得票1回答
如何以机器无关的方式创建掩码?

所以我正在练习一些编程面试题,偶然发现了这个示例pdf,其中建议“了解如何使用掩码并以机器无关的方式创建它们”。但它没有详细说明机器相关和机器无关掩码之间的区别。 通常我只需计算出提供所需掩码的整数,例如如果我只想要最后4位,我会执行以下操作:int y = x & 15; 如果这是...

11得票1回答
最快的将32位数解包到32字节SIMD向量的方法

在内存中存储32位于uint32_t,最快的方法是将每个位拆分成AVX寄存器的单独字节元素?每个位可以在响应字节内的任何位置。如果uint32_t是位图,则相应的向量元素应为0或非零。(即我们可以通过对全0向量进行vpcmpeqb得到一个向量掩码)。 参考链接:https://softwar...

10得票4回答
使用位掩码组合枚举值

我知道在枚举值中可以使用位掩码,但不知道如何创建。 我有一个简单的枚举: enum State { minimizing = 0, maximizing, minimized, maximized }; 一个状态总是 State.minimized 或...

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

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

10得票4回答
给定一个列表和一个位掩码,如何返回索引为True的值?

我从以下列表s和位掩码b开始:s = ['baa', 'baa', 'black', 'sheep', 'have', 'you', 'any', 'wool'] b = [1, 0, 0, 0, 1, 1, 1, 0] # or any iterable with boolean value...

10得票6回答
关于C语言中的位掩码。为什么(~(~0 << N))比((1 << N) -1)更受欢迎?

我知道在计算机中使用~0可以得到最大的位数为1的值(这也考虑了可移植性),但我仍然不明白为什么((1 不被推荐使用? 如果您曾经使用第二种形式并遇到过问题,请分享一下。

9得票5回答
以位置i开始产生n个1的最快方式生成掩码

在常见的现代体系结构中,生成一个从位置pos开始,长度为len的位被设置为1的掩码的最快方式是什么: template &lt;class UIntType&gt; constexpr T make_mask(std::size_t pos, std::size_t len) { /...

9得票1回答
NumPy布尔数组警告?

我有几个numpy数组,比如说a、b和c,并且创建了一个mask来应用于它们所有。我正在尝试使用以下方式进行掩蔽: a = a[mask] 其中mask是一个bool数组。值得注意的是,我已经验证了 len(a) = len(b) = len(c) = len(mask) 并且我收到了...