问题标签 [bit-masks]
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.
c# - 为什么 BitConverter 返回 Bytes 以及如何获取这些位?
作为输入,我得到一个 int(好吧,实际上是一个我应该转换为 int 的字符串)。
此 int 应转换为位。
对于每个具有 1 的位位置,我应该得到该位置。
在我的数据库中,我想要所有具有 int 值字段的记录,该字段将此位置作为值。
我目前有以下幼稚的代码,它应该询问我的实体(持有 databaseValue)是否与位置匹配,但显然不能正常工作:
首先,我有一个字节数组,因为显然没有位类型。我应该使用 Boolean[] 吗?那么,我该如何填充这个数组呢?最后,如果前面的语句得到解决,我应该只返回 bits[position]
我觉得这应该以某种方式用位掩码解决,但我不知道从哪里开始..
任何帮助,将不胜感激
java - 编写函数:short GetBits(short data, int p, int n)
我正在编写一个函数 short getBits(short data, int p, int n)
我试过了:
这适用于 getBits( (short) 0x7000, 0, 4) 但如果我用 8 替换 7 我会得到一个负值。
bitmask - 位掩码问题
阅读销售点系统的文档,这里是他们给出的一个面具的例子,它应该告诉你选择了哪些座位。我想不通。我完全理解位掩码。这个例子是错的吗?
功能
此系统变量是一个包含座椅过滤器掩码的八字符串。
类型/尺寸
A8
句法
@Filter_mask
过滤器掩码用法
此系统变量是只读的。
Filter_mask 示例
以下是过滤器掩码的示例:
c++ - 位掩码开关语句
我在项目的一部分中有这段代码:
这很好,而且效果很好,但我一直想知道是否可以通过开关来完成。我在想这样的事情:
所以我的问题是:
c# - 如何检查返回的位掩码值?
我从 C# 调用这个函数: GetKeyboardStatus()
查看文档,它说它返回一个位掩码值。我的代码的目标是确定设备是否具有带有字母数字字符的物理键盘。我已经成功调用了这个函数,返回值为 15。但是由于我不懂位掩码,我不知道如何将它与 0x0008 值进行比较,根据文档“指示是否键盘硬件有字母数字键。”。我没有将此标记为 Windows Mobile 或 Compact Framework 问题,因为我认为回答我的问题您需要了解的只是位掩码和 C#,我希望答案能扩展我对如何使用位掩码的理解(虽然不是必需的)。这是我的代码。我认为唯一错误的部分是 return 语句:
感谢您提供帮助,但我发现这不是确定是否有带有字母数字键的物理键盘的可靠方法。我尝试了 2 个设备,一个带键盘,一个不带,GetKeyboardStatus 函数为它们返回 15,所以我什至无法测试答案中位掩码的解释。
c - Is there a concise way to create bit masks in C?
I need to create three bit masks that end up in three 32-bit unsigned ints
(let's call them x, y and z). The masks should end up like this:
So far I've got this:
But it seems a bit messy. Can anyone come up with a more concise (and readable) way?
php - 在 PHP 中实现位掩码或关系 ACL
我认为 PHP 人熟悉函数中的E_ALL
和其他各种位掩码常量error_reporting()
。它们是数字常数,例如:E_ALL
手段32676
和E_NOTICE
手段8
。我可以说我想要所有错误,但要显示通知,我通过E_ALL & ~E_NOTICE
作为参数传递来做到这一点error_reporting()
。但本质上,我告诉它32759
哪个是32767 - 8
.
这些位掩码从函数的输出集中获取它们的值,f(x) = 2^x
并对这些值进行加减运算,我们可以微调要得到的错误。
我正在考虑在我的框架中实现一个更可配置的访问控制。为此,我希望设置用户的位掩码将具有相同的将数值相加的方法,问题是我不知道如何实现这一点,如何检查请求的值和当前值:用户是否有权访问 foobar?.
另一个问题是可扩展性。我可能只有 31 个唯一位(因为2^32
达到了太大且无法维护的状态),如果我需要经历(现在还没有真正计划)这个障碍,那么迁移会很困难吗?我对访问控制的另一个想法是建立一个表,将user.id
他拥有的访问位的整数值和整数值链接在一起。
总结一下,以下两个选项中哪一个是更好的解决方案?:
- 使用用户表中的一个字段来存储位掩码,然后在需要时从中获取请求的位。
- 在表中定义一组访问标志,并拥有一个将用户链接到访问权限的关系表,利用关系数据库的强大功能来满足我们的需求。
我正在研究第二种方法,但我不知道哪种方法最好用。
c - 分析 &, && 和 | 这段代码?
我想说明这段代码的区别
在代码中 & 用于“屏蔽”一点,如果使用它,结果将完全不同&&
。在那种情况下,表达式1
已被解释为真值 ( TRUE
),而不是用于保留其中一位的一位位置。正确的?但是,如果我这样做了,会发生什么:
在第一种情况下,1
它用于仅保留 LSB(最低有效位),即最右边的位,没有别的。取而代之的是什么|
?如果我做这个改变会有什么不同?
mongodb - 位掩码比较 Mongo 查询
对于博客网络应用程序,我试图在 mongo 中对一组用户、博客和资源操作进行建模。用户可以对博客文章的“赞”、“星”、“特征”资源(例如“博客文章”、“链接”、“图片”等)执行不限次数的操作。
模型看起来像
用户(user_id:long)资源(resource_id:long)资源/操作(int)
前 16 位用于存储操作,接下来的 15 位用于识别资源的类型。
所以给定一个查询, - 找到喜欢博客文章的用户列表。
在 mongo 中建模和查询它的最佳方法是什么?
我想到了类似的东西
并对查询参数和 Resource/Action 字段使用位掩码 AND 操作来过滤正确的记录。但看起来 mongo 不支持按位运算。我读了 $where javascript 函数可用于此目的 - 但我担心使用 js 函数调用进行查询的性能。
实现这个用例的好方法是什么?
谢谢!
c - 用 0xFF 掩码字符和强制转换(无符号字符)之间有什么区别
上面的代码给出:
警告:由于数据类型范围有限,比较总是错误的
正如我所料的错误。
我打字没关系
或者
我理解第一个,但第二个会发生什么?
用遮罩有什么作用0xFF
?