问题标签 [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.
php - FilterIterator 位掩码(或位域)
我正在为位掩码(或者它是位域?)而苦苦挣扎。我不知道该怎么做了。
我想创建一个接受过滤内容标志的 DirectoryFilterIterator。我想我会使用这些位:
因为 aDOT
也被认为是 aDIR
我也希望能够区分这两者。如果我是正确的,我认为这样的事情应该是可能的:
换句话说,这应该过滤掉,DIR
除非它是一个DOT
. 但我完全坚持如何让过滤工作(在accept
方法中):
...尤其是因为我一直在否定,我有点迷路了。我怎样才能让它正常工作?
php - 改进这个 PHP 位域类的设置/权限?
很长一段时间以来,我一直试图找出在 PHP 中使用位掩码或位域的最佳方法,用于我的应用程序的不同区域,以获得不同的用户设置和权限。到目前为止,我所走的最远的是 svens 在 Stack Overflow 帖子 Bitmask in PHP for settings 中贡献的一个类?. 我在下面稍微修改了它,将其更改为使用类常量而不是 DEFINE,并确保 get 方法仅传递一个 int。我还有一些示例代码来测试下面的类的功能。
我正在寻找任何建议/代码来进一步改进这个类,以便它可以在我的应用程序中用于设置,并在某些情况下用于用户权限。
mcrumley 在下面的评论中回答了
另外,我有一个关于常量编号的问题。在此类型的其他类和代码示例中,它将以 2 的幂列出的内容。但是,据我所知,即使我将常量编号为 1、2、3、4、5、6,它的工作方式似乎也是一样的而不是 1、2、4、8、16 等。那么有人可以澄清我是否应该改变我的常数吗?
一些想法......我真的很想找到一种方法来扩展这个类,这样它就可以很容易地与其他类一起使用。假设我有一个User
班级和一个Messages
班级。User
和_Messages
类将扩展此类并能够将位掩码用于其设置/权限(以及稍后的其他类)。因此,也许应该更改当前的类常量,以便可以传入它们或其他一些选项?我真的宁愿不必在站点/脚本的其他部分定义 (define('PERM_READ', 1);) 并且希望保持它的某种封装,但也很灵活;我对想法持开放态度。我希望它是坚如磐石和灵活的,就像我说的与多个其他类一起用于设置或权限。可能应该使用某种数组?@Svens 来自我上面链接的上一个问题,发表了一条评论,“实现一些自动的 getter/setter 或 ArrayAccess 以获得额外的效果。- svens”你对类似的事情也有什么看法?
如果可能,请包含示例源代码。
示例用法...
c# - 在 C# 中获取整数的上下字节并将其作为 char 数组发送到 com 端口,如何?
在 CI 中会这样做
整数 = 3510;
字符上部 = 数字 >> 8;
char 低 = 数字 && 8;
发送字节(上);
发送字节(下);
上和下都 = 54
在 C# 中,我这样做:
然而,在调试器编号 = 3510、upper = 13 和 lower = 0 中,这没有任何意义,如果我将代码更改为 >> 6 upper = 54,这绝对是奇怪的。
基本上我只是想从16位数字中获取高低字节,并在“GETDM”之后将其发送到com端口
我怎样才能做到这一点?它在 C 中是如此简单,但在 C# 中我完全被难住了。
c - 为给定输入生成以下位掩码的最佳方法?
我正在尝试找出生成以下位掩码的最佳方法: - 对于给定的输入 n,输出将是一个位掩码,其中设置了第一个 (n-1) 位,而所有其他位都未设置。
例子:
我知道明显的迭代方式(一次设置一个位),这将花费 O(n) 时间....我只是想知道是否有任何“位魔术”可以在恒定时间内做到这一点,或至少亚线性时间(不使用LUT !!)
有接受者吗?
c# - 位掩码的 Int 到 Enum[] 或 Int[]?C#
我有一个看起来像这样的枚举:
建立标志/位掩码很好,但是否可以做类似的事情
导致类似
谢谢。
c - 为什么我从 C 中的以下代码中收到段错误错误?
我的操作系统类中有一个项目到期,我应该在其中模拟翻译后备缓冲区。
我正在编写一个将在 TLB 未命中后调用的方法。它应该在 TLB 中找到下一个为空或一段时间未命中的条目,删除该条目,并将其替换为上次调用的页表中的条目。调用该方法时会给出页表条目中的数据。
我从以下几行中得到一个段错误:
VBIT_MASK 是一个先前定义的变量,用于屏蔽我现在要插入的位。我不确定我是否误解了如何使用位掩码,或者我的代码是否存在更严重的问题。我意识到要求任何人详细了解整个事情太过分了,但是如果有人对我应该考虑的解决这个问题的方向有任何建议,我将不胜感激!
javascript - 位掩码和 javascript 的问题
我不确定我是否做错了什么,但我似乎无法让这个简单的 javascript 工作:
你可以在这里看到它 http://jsfiddle.net/qPEVk/
不应该是 3221225472 吗?
谢谢,
乔
c# - 什么时候将标志存储为位掩码而不是使用关联表更好?
我正在开发一个应用程序,其中用户有不同的权限来使用不同的功能(例如读取、创建、下载、打印、批准等)。权限列表预计不会经常更改。对于如何将这些权限存储在数据库中,我有几个选择。
在什么情况下选项 2 会更好?
选项1
使用关联表。
选项 2
为每个用户存储一个位掩码。
c# - C# 数字到 BitMask32 到值
我得到一个数字,例如 513。我需要将此数字转换为 bitmask32,然后我需要计算每个 1 位在数组中的位置
例如 513 = 0 和 9
我将如何将数字转换为 bit32 然后读取值?
现在我只是将数字转换为字符串二进制值:
会有更有效的方法来做到这一点吗?如何将值转换为位数组?
谢谢
avr-gcc - 解释有关 AVR 端口设置的代码
以下是做什么的?
AFAIK,0xFC 是一个十六进制值。那基本上是说11111100,因此PORTD0-PORTD1是输出,其余的是输入。
该代码的完整解释是什么?