问题标签 [bitmask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19609 浏览

c - 计算数字中的位数

复制:

计算 32 位整数中设置位数的最佳算法?


假设你有一个号码。有没有办法计算该数字的二进制表示中等于 1 的位,而不是使用迭代?我的意思是,有没有办法使用一些按位运算符和掩码在恒定时间内做到这一点。我需要适用于 32 位和 64 位架构的解决方案。啊差点忘了,我需要的是C语言或者汇编也不错。

0 投票
8 回答
45894 浏览

c# - 当位掩码(标志)枚举变得太大时该怎么办

我的应用程序中有一组非常大的权限,我用 Flags 枚举表示。它正在迅速接近长数据类型的实际上限。我不得不想出一个策略来尽快过渡到不同的结构。现在,我可以将这个列表分解成更小的部分,但是,这已经只是我们应用程序整体权限的一个子集,基于我们的应用程序布局。在管理权限时,我们将这种区别广泛用于显示目的,如果可以避免的话,我宁愿此时不必重新访问该代码。

有没有其他人遇到过这个问题?你是怎么过去的?一般的例子很好,但如果有任何语言特定的技巧可以用来完成工作,我最感兴趣的是 ac# 特定的例子。

可能不是必需的,但这里是当前为我正在处理的应用程序部分定义的权限列表。

0 投票
3 回答
1451 浏览

c - 位屏蔽数组的索引,Arduino 环境

我正在尝试从结构中获取一个 16 位无符号整数,屏蔽它的前 8 位,并将其用作具有函数 analogWrite 的数组的索引,该函数将 Arduino 上的输出引脚和输出字节作为参数. 有问题的代码如下所示:analogWrite(outputPin, my_array[myStructure->data & 0xFF00 >> 8]);

不幸的是,这段代码不起作用。我总是得到零作为输出。有任何想法吗?

0 投票
5 回答
1584 浏览

c++ - 用掩码交错位

输入:

输出:

也就是说,我希望将 bitset 的第一位放在掩码的第一个 0 中。同样,第二个位被放置在掩码的第二个 0 中。

例子:

我知道这可以通过循环来完成,但我想主要使用位操作来完成。我知道您可以仅使用掩码和位运算符来执行任意位排列。我愿意花大量时间设置排列掩码,因为输入掩码将被多次使用。

编辑:我查看了http://graphics.stanford.edu/~seander/bithacks.htmlhttp://www.hackersdelight.org/HDcode.htm的算法,但还没有找到确切的方法.

0 投票
8 回答
15356 浏览

php - 为什么我应该在 PHP 中使用按位/位掩码?

我正在为脚本开发 PHP 中的用户角色/权限系统。

下面是我在 phpbuilder.com 上找到的使用位掩码方法获取权限的代码。

在该部分下面是一个更简单的版本,w3hich 可以在没有位部分的情况下做基本相同的事情。

许多人建议在 PHP 中使用位运算符等进行设置和其他操作,但我一直不明白为什么。在下面的代码中,使用第一个代码而不是第二个代码有什么好处吗?

非位版本

0 投票
9 回答
6463 浏览

c++ - 为什么这行得通?(在 C++ 中查找奇数)

为什么(以及如何):if( i & 0x00000001 )找出奇数?

0 投票
3 回答
4906 浏览

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

我正在读取一个二进制文件,该文件的值存储在位掩码中,包括 1 Byte位掩码和 2 Byte位掩码。掩码中的每个位都充当一个开关,指示事件发生的位置。

1 字节掩码示例:

表示事件一和事件三已经发生。

枚举示例

我已经创建了一个事件Enum MyEnum(根据Effective java, Second Edition中的第 32 项)。如何将二进制位掩码读入EnumSet<MyEnum>?

0 投票
2 回答
96 浏览

sql-server - 一个 sql 参数给我 3 个潜在值

在我的存储过程中,我需要一个参数,它会给我一个潜在的 3 个值。

所以我可以做类似的事情:

我猜我将不得不做一些敲打,但不知道如何在 sql 中做到这一点。

更新

我实际上正在做一个 UNION。

0 投票
4 回答
2064 浏览

c# - 如何将多个状态存储在一个变量中?

我的对象Item有几个可以组合的二进制状态

我需要将当前的值组合存储到一个变量中。原因是我需要将此值存储在数据库中。在 C++ 中,我会创建一个位掩码,其中一个状态占用一些位。.NET 中的好习惯吗?

0 投票
1 回答
209 浏览

scheme - 使用 PltScheme FFI 中的 _bitmask

这是 plt-scheme 包装库的一部分:

问题是我无法弄清楚如何访问位掩码(或枚举)中的字段。例如,如何获取 KeyPressMask 值?