bitmask相关内容

将屏蔽的位移到lsb

当您和带有掩码的某些数据时,您将得到与数据/掩码大小相同的结果。 我想做的是将结果中的被掩码位(掩码中有1)并向右移动,使它们彼此相邻,然后执行CTZ(计数尾随) 我不知道如何命名这样的程序,所以Google让我失败了。操作最好不是循环解决方案,这必须是尽可能快的操作。 这是一张令人难以置信的图像MS Paint。 解决方案 此操作称为正确压缩。它是 BMI2 的一部分,作为 ..
发布时间:2020-09-27 03:07:51 C/C++开发

如何使用位掩码?

如何在C ++中使用它? 什么时候使用有用? 请给我举一个使用bitmask的问题示例,它实际上是如何工作的。 谢谢! 解决方案 当您要存储(然后提取)不同的内容时,使用位掩码是“有用的” 我以前使用的示例应用程序是假设您将彩色RGB值存储在16位值中。所以看起来像这样: RRRR RGGG GGGB BBBB 然后可以使用位掩码按如下方式检索颜色 ..
发布时间:2020-09-26 23:27:07 C/C++开发

c#-获取特定位并获取ushort值的前14位

在阅读完所有有关移位/屏蔽的问题和答案后,我根本无法解决问题.我只是不了解它在基本层面上是如何工作的.我已经能够通过使用BitArray和BitConverter来实现各种技术,但是我真的很想更好地理解位移位/屏蔽. 我的具体需求是执行以下操作: 我有一个ushort: 0x810E (33038) 使用位移/屏蔽,我想知道如何: 获取第16位结果:1​​ 获取第15位结 ..
发布时间:2020-09-21 05:48:21 C#/.NET

声明用于按位操作的掩码

我是这种低级操作的新手,我希望有人可以指出我在这里必须犯的明显错误. //Input value - 00111100 //I want to get the value of the bits at indexes 1-3 i.e 0111. byte mask = (byte)0x00001111; // This gives 17 not the 15 I'd expect by ..
发布时间:2020-09-21 05:44:38 Java开发

如何为位掩码创建48位uint

我正在尝试创建48位整数值.我知道可以使用char数组或结构,但是我希望能够进行位掩码/操作,但我不确定该怎么做. 当前程序使用16位uint,我需要将其更改为48.这是一个字节码解释器,我想将内存寻址扩展到4GB.我可以只使用64位,但这会浪费很多空间. 以下是代码示例: unsigned int program[] = { 0x1064, 0x11C8, 0x2201, 0x ..
发布时间:2020-09-21 05:42:03 其他开发

常数差且按位与零的对数

如何找到差异为给定常数且按位与为零的对的数量?基本上,所有(x,y)使得 x-y = k;其中k是一个给定的常数, x& y = 0; 解决方案 一个有趣的问题. 让 k n-1 ... k 1 k 0 为 k . 让 l 是最小的 i 的索引,这样 k i = 1 我们可以指出,潜在的一对解决方案 x 和 y 必须的所有位都为 i , i ..
发布时间:2020-09-21 05:34:36 其他开发

测试位掩码是否只有一个标志

我一直在搜寻google和堆栈溢出来寻找该问题的答案,但我一直无法明确找到它. 我将如何测试位掩码以查看其是否设置了一个且仅设置了一个标志? I.E如果在掩码中设置了其他任何标志,它将返回false吗? 我知道我可以检查一下面具是否有任何标志. (currentFlags & state) == state 我认为检查掩码是否只有一个标志要复杂一些.我访问过的每个站点(解释位 ..
发布时间:2020-09-21 04:31:55 其他开发

将Java BigInteger用于巨大的位掩码的性能影响

我们面临着一个有趣的挑战.我们必须控制对驻留在“箱"中的数据的访问.可能会有成千上万的“垃圾箱".对每个垃圾箱的访问都是单独控制的,但限制可能并且可能会重叠.我们正在考虑为每个bin分配一个位掩码(1、2、3、4等)中的位置. 然后,当用户登录系统时,我们将查看其安全属性,并确定允许他查看哪些垃圾箱.利用该信息,我们为该用户构造了一个位掩码,其中“设置"位对应于他允许看到的容器的标识符.因此 ..
发布时间:2020-09-20 20:26:50 Java开发

将32位数据打包为32字节SIMD向量的最快方法

将32位存储在内存中的uint32_t中,最快的方法是将每个位解压缩到AVX寄存器的单独字节元素中?这些位可以在其各自字节内的任何位置. 编辑:为澄清起见,我的意思是位0到字节0,位1到字节1.显然,该字节内的所有其他位都为零.目前,我能做到的最好是2 PSHUFB,并且每个位置都有一个掩码寄存器. 如果uint32_t是位图,则相应的矢量元素应为0或非0. (也就是说,我们可以获得一 ..
发布时间:2020-09-15 05:29:05 其他开发

将两个字节的位掩码转换为EnumSet

我正在读取一个二进制文件,该文件的值存储在位掩码中,即1字节位掩码和2字节位掩码.掩码中的每个位都用作指示事件发生位置的开关. 1字节掩码的示例: 00000101 表示事件一和事件 3发生了. 枚举 的示例 public enum MyEnum { EventOne, EventTwo, ....; } 我已经创建了Enum ..
发布时间:2020-07-22 19:24:57 Java开发

使用SQL确定子网掩码的cidr值

我想找到一种方法来执行SQL查询,以计算存储在数据库中的子网掩码的cidr(位表示)。例如,我将255.255.255.0或其十进制值(4294967040)存储在数据库中。我想进行选择并通过查询获取/ 24表示形式。 我已经完成了如下操作来确定子网的最后一个IP,因此我希望做类似的事情来确定蒙版的cidr表示形式。 select concat(inet_ntoa(ip_addr), ..
发布时间:2020-06-08 18:45:03 其他开发

用于生成k位设置为1的n个二进制数字的有效代码是什么?

是否有任何有效的代码来生成二进制表示形式的n位数字,并且将r位设置为1? 这也是生成掩码的一种好策略为查找集合的NcR个组合? 我曾考虑过生成所有2 ^ n个数字并计算它们的位数,但计数位数似乎是O(nlogn)。 / p> 解决方案 如果给定一个设置了K位的数字,我们怎么能找到下一个最大的 >设置了K位的数字?如果我们重复执行此操作,则可以生成所有这些。 生成下一个将分 ..
发布时间:2020-06-03 21:40:07 其他开发

位掩码的整数和bit(n)数据类型之间有什么区别吗?

我正在使用PostgreSQL数据库中的表,该表具有几个确定某些状态的布尔列(例如已发布,可见等)。我想创建一个状态列,该列将以位掩码的形式存储所有这些值以及可能的新值。在这种情况下,整数和 bit(n)有什么区别? 这将是一个相当大的表,因为它存储了用户通过Web界面创建的对象。因此,我认为我将不得不为此列使用(部分)索引。 解决方案 如果您只有变量,我会考虑保留单独的 boole ..
发布时间:2020-05-29 22:31:03 其他开发

如何在php中实现位掩码?

我不确定位掩码是否正确.让我解释一下: 在php中,可以通过多种方式调用error_reporting函数: // Report simple running errors error_reporting(E_ERROR | E_WARNING | E_PARSE); // Reporting E_NOTICE can be good too (to report uninitial ..
发布时间:2020-05-27 00:56:45 PHP

在PHP中使用位掩码进行设置?

位和位掩码是我一直在努力理解的东西,但是我想学习如何在PHP中使用它们进行设置和类似操作. 我终于找到了一个声称完全可以做到这一点的类,而且据我所知,它似乎可以工作,但是我不确定这是否是实现此目的的最佳方法.我将使用下面的示例代码发布类文件,以按工作顺序显示该文件. 如果您有经验,请告诉我是否可以对其进行改进,以提高性能或其他目的.我真的很想学习这一点,而且我一直在阅读它,但是到目前为 ..
发布时间:2020-05-26 23:49:43 PHP

检查位掩码的特定位

我正在使用python中的Bitmasks.据我所知,这些是整数数组,当将它们解压缩为二进制格式时,它们会告诉您为数组中的给定元素设置了32位中的哪一位(= 1). 我想知道最快的方法来检查是否为数组的任何元素设置了4个特定位.我不在乎其余的.我已经尝试了以下解决方案,但是对于我的目的来说还不够快: def detect(bitmask, check=(18,22,23,24), bi ..
发布时间:2020-05-18 23:08:51 Python