问题标签 [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 投票
2 回答
1867 浏览

xor - 位掩码翻转位......没有异或?

很简单,真的。我想否定以 2 的补码表示的整数,为此,我需要首先翻转字节中的所有位。我知道使用 XOR 很简单——只需使用 XOR 和位掩码 11111111。但是没有 XOR 怎么办?(即只是 AND 和 OR)。哦,在我使用的这种蹩脚的汇编语言中,NOT 不存在。所以那里也没有骰子。

0 投票
5 回答
357 浏览

c++ - 按位,位掩码:这里有什么问题?

我想通过位掩码来跟踪一些选项,并从这个答案中借用位掩码值,但它们似乎不能一起工作。

是类型问题,还是这种方法不能用于一次持有多个选项(OP1、OP2 和 OP3 都希望保持不变params)?

0 投票
4 回答
5146 浏览

bitmask - 位掩码问题

阅读销售点系统的文档,这里是他们给出的一个面具的例子,它应该告诉你选择了哪些座位。我想不通。我完全理解位掩码。这个例子是错的吗?

功能

此系统变量是一个包含座椅过滤器掩码的八字符串。

类型/尺寸

A8

句法

@Filter_mask

过滤器掩码用法

此系统变量是只读的。

Filter_mask 示例

以下是过滤器掩码的示例:

0 投票
2 回答
598 浏览

c# - 从 C# 传递位值

我有一个 C++ 接口,它有一个公共属性“P”,它接受位值,如 5、6,7 等。它的文档说:“设置组类型的位掩码。位 5 用于 'a',位 6 用于' b'等”

我在我的 C# 类中使用这个接口,元数据中显示的这个属性“P”的类型是 VS.Net 中的“char”。

如何从我的 C# 代码将位值 6 和 7 传递给此属性?请注意,如上所述,应将“char”类型的值从 C# 传递到此 C++ 接口,因为这是在 VS.net 的元数据中显示的类型

请建议。代码:

从 VS.Net IDE 中看到的 C++ 接口定义——

C#:

谢谢。

0 投票
7 回答
20064 浏览

c++ - 位掩码开关语句

我在项目的一部分中有这段代码:

这很好,而且效果很好,但我一直想知道是否可以通过开关来完成。我在想这样的事情:

所以我的问题是:

  • 我刚刚解决了我的问题吗?我想我有,但它是一个干净的解决方案吗?
  • 有没有更简单的方法来完成这个?
  • 混合#defines 和函数是一个坏主意吗?

  • 0 投票
    3 回答
    401 浏览

    c++ - -1 和 ~0 有什么区别

    标题确实说明了一切:减一和tilda(补码)零有什么区别?

    在讨论指定设置所有位的位掩码的最佳方法时,出现了这个问题。以下哪个更好?

    或者

    是否有任何其他用途,它会反过来吗?

    更新:在stackoverflow.com/q/809227/34509上对此主题进行了类似的讨论 ,我在之前的研究中错过了这些讨论。感谢 Johannes Schaub 指出这一点。

    0 投票
    2 回答
    1589 浏览

    java - Java中如何避免符号扩展位掩码?

    我的位掩码是字节,我想保持它们原样,但我认为它们是符号扩展的。我不在乎字节被认为是正数还是负数,只要它设置了相同的位即可。我只花了几个小时调试我的代码,然后我发现我的字节位掩码恰好是负数时才有问题,花了一段时间才发现。我不能是唯一一个对此有问题的人。有没有办法让一个字节表现得好像它是无符号的?

    0 投票
    4 回答
    5546 浏览

    c# - 如何检查返回的位掩码值?

    我从 C# 调用这个函数: GetKeyboardStatus()

    查看文档,它说它返回一个位掩码值。我的代码的目标是确定设备是否具有带有字母数字字符的物理键盘。我已经成功调用了这个函数,返回值为 15。但是由于我不懂位掩码,我不知道如何将它与 0x0008 值进行比较,根据文档“指示是否键盘硬件有字母数字键。”。我没有将此标记为 Windows Mobile 或 Compact Framework 问题,因为我认为回答我的问题您需要了解的只是位掩码和 C#,我希望答案能扩展我对如何使用位掩码的理解(虽然不是必需的)。这是我的代码。我认为唯一错误的部分是 return 语句:

    感谢您提供帮助,但我发现这不是确定是否有带有字母数字键的物理键盘的可靠方法。我尝试了 2 个设备,一个带键盘,一个不带,GetKeyboardStatus 函数为它们返回 15,所以我什至无法测试答案中位掩码的解释。

    0 投票
    2 回答
    311 浏览

    java - Java 位掩码和登录安全性

    好吧,我真的不明白这个循环是如何工作的,它是最让我烦恼的逻辑语句。权限是一个常量值,我已经分配了 127。Roles.java 包含确定哪些角色可以访问网站的某些页面的常量值。问题是当位掩码等于 1 时逻辑语句返回真。这怎么可能?

    0 投票
    4 回答
    1268 浏览

    objective-c - 使用大位掩码的便捷方法

    我正在尝试在 iOS 应用程序中实现一种算法,该算法将使用大位掩码。每个位掩码的长度最多可达 256 位(32 字节)。我需要在掩码内的任意位置快速获取/设置位等。

    是否有任何 C 或 Objective-C 的内置语言特性使这种事情变得容易,或者我应该期望编写自己的函数来操作任意字符数组中的位?自己做这件事似乎不太难,但如果已经有一些东西可以有效和干净地做到这一点,我宁愿不自己写。