Tag: 位掩码

比较SQL中的两个位掩码,看是否有任何位匹配

有没有办法在Transact-SQL中比较两个位掩码来查看是否有位匹配? 我有一个用户所有angular色的位掩码的用户表,我想select提供的位掩码中的任何angular色的所有用户。 因此,使用下面的数据,angular色位掩码6(devise师+程序员)应该select戴夫,查理和苏珊,但不是尼克。 用户表 ———- ID用户名angular色 1戴夫6 2查理2 3苏珊4 4尼克1 angular色表 ———– IDangular色 1pipe理员 2程序员 4devise师 有任何想法吗? 谢谢。

“int mask =〜0”的目的是什么?

我在C中看到了下面这行代码 int mask = ~0; 我用C和C ++打印了mask的值。 它总是打印-1 。 所以我有一些问题: 为什么赋值~0到掩码variables? 〜0的目的是什么? 我们可以使用-1而不是~0吗?

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

在我的应用程序中,我有一个非常大的权限集合,用Flags枚举表示。 它正在快速接近长数据types的实际上限。 我不得不提出一个策略,以尽快过渡到不同的结构。 现在,我可以将这个列表分解成更小的部分,但是,根据我们的应用程序布局,这已经只是我们应用程序整体权限的一个子集。 在pipe理权限时,我们广泛使用这种区别作为显示目的,如果我能够避免,我宁愿不必在此时重新访问该代码。 有其他人遇到这个问题? 你是怎么过去的? 一般的例子都很好,但我最感兴趣的是ac#的具体例子,如果有任何语言特定的技巧,我可以用来完成工作。 可能不是必需的,但这里是目前为我正在处理的应用程序部分定义的权限列表。 //Subgroup WebAgent [Flags] public enum WebAgentPermission : long { [DescriptionAttribute("View Rule Group")] ViewRuleGroup = 1, [DescriptionAttribute("Add Rule Group")] AddRuleGroup = 2, [DescriptionAttribute("Edit Rule Group")] EditRuleGroup = 4, [DescriptionAttribute("Delete Rule Group")] DeleteRuleGroup = 8, [DescriptionAttribute("View Rule")] ViewRule = 16, [DescriptionAttribute("Add Rule")] AddRule = 32, [DescriptionAttribute("Edit Rule")] EditRule […]

如何在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 uninitialized // variables or catch variable name misspellings …) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // Report all errors except E_NOTICE // This is the default value set in php.ini error_reporting(E_ALL […]

将标志存储为位掩码而不是使用关联表最好是什么时候?

我正在开发一个应用程序,用户有不同的权限来使用不同的function(例如读取,创build,下载,打印,批准等)。 预期权限列表不会经常更改。 我有几个如何将这些权限存储在数据库中的选项。 选项2会在哪些情况下更好? 选项1 使用关联表。 用户 —- UserId(PK) 名称 部 允许 —- PermissionId(PK) 名称 User_Permission —- UserId(FK) PermissionId(FK) 选项2 为每个用户存储一个位掩码。 用户 —- UserId(PK) 名称 部 权限 [Flags] enum Permissions { Read = 1, Create = 2, Download = 4, Print = 8, Approve = 16 }

在Objective-C中声明和检查/比较(bitmask-)枚举

你知道在cocoa有这个东西,例如你可以创build一个UIView并做: view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 我有一个自定义的UIView与多个状态,我已经在这样的enum定义: enum DownloadViewStatus { FileNotDownloaded, FileDownloading, FileDownloaded }; 对于每个创build的子视图,我设置它的tag : subview1.tag = FileNotDownloaded; 然后,我有一个自定义setter的视图状态,它执行以下操作: for (UIView *subview in self.subviews) { if (subview.tag == viewStatus) subview.hidden = NO; else subview.hidden = YES; } 但是我想要做的是让这个: subview1.tag = FileNotDownloaded | FileDownloaded; 所以我的subview1出现在我的观点的两个状态。 目前,它并没有出现在这两个州以来的任何一个州 运算符似乎添加了两个枚举值。 有没有办法做到这一点?

(x ^ 0x1)!= 0是什么意思?

我遇到了下面的代码片段 if( 0 != ( x ^ 0x1 ) ) encode( x, m ); x ^ 0x1是什么意思? 这是一些标准的技术?

在C#中使用位掩码

假设我有以下几点 int susan = 2; //0010 int bob = 4; //0100 int karen = 8; //1000 我把10(8 + 2)作为parameter passing给一个方法,我想把这个解码为susan和karen 我知道10是1010 但我怎么能做一些逻辑来看看是否有一个特定的位被检查 if (condition_for_karen) // How to quickly check whether effective karen bit is 1 现在我所能想到的是检查我通过的号码是否是 14 // 1110 12 // 1100 10 // 1010 8 // 1000 当我在现实世界中有更多的实际位数时,这似乎是不切实际的,使用掩码来检查我是否满足karen条件的更好方法是什么? 我可以考虑左移然后右移,然后移回除了我感兴趣的位以外的其他位,但是这似乎也过于复杂。

在Unity中使用Raycast图层和位掩码

Unity的Raycastfunction有一个参数可以用来对特定的GameObject进行光线投射。 您也可以使用该参数来忽略特定的GameObject。 例如Raycastfunction: public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal); layerMask参数用于指定哪些对象应该/不应该接收光线投射。 1 ,你如何对一个名为“cube”的图层进行光线投射? 2,如果你在场景中有10个 GameObjects,但是你只想对2个 GameObjects进行光线投射而忽略其余部分? 你如何做到这一点? 假设这些对象的图层是“立方体”和“球体”。 3,如果你想对所有 GameObjects进行光线投射,但忽略1。 假设要忽略的GameObject位于“多维数据集”层中。 4,如果您想对所有 GameObjects进行光线投射,但忽略2(多个)GameObjects。 同样,要忽略的层是“立方体”和“球体”层。