Questions tagged «bitmask»



6
在C#中使用位掩码
假设我有以下内容 int susan = 2; //0010 int bob = 4; //0100 int karen = 8; //1000 我将10(8 + 2)作为参数传递给方法,我想对此进行解码以表示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 当我在现实世界中有大量实际位时,这似乎不切实际,有什么更好的方法使用遮罩来检查我是否满足卡伦的条件? 我可以想到先左移然后再右移然后再右移以清除除我感兴趣的位以外的其他位,但这似乎过于复杂。
97 c#  bitmask 

4
在Objective-C中声明和检查/比较(位掩码)枚举
您知道可可里有这个东西,例如您可以创建一个 UIView并执行: view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 我有一个UIView具有多个状态的自定义,enum这样的: enum DownloadViewStatus { FileNotDownloaded, FileDownloading, FileDownloaded }; 对于每个创建的子视图,我设置其tag:subview1.tag = FileNotDownloaded; 然后,我为视图状态创建了一个自定义设置器,它可以执行以下操作: for (UIView *subview in self.subviews) { if (subview.tag == viewStatus) subview.hidden = NO; else subview.hidden = YES; } 但是我想做的是允许这样做: subview1.tag = FileNotDownloaded | FileDownloaded; 所以我subview1以两种状态出现。目前,它在这两个州中均未显示|操作员似乎将两个枚举值相加。 有没有办法做到这一点?

8
当位掩码(标志)枚举太大时该怎么办
我的应用程序中有很多权限,这些权限由Flags枚举表示。它正在迅速接近长数据类型的实际上限。而且我被迫提出一项战略,以尽快过渡到其他结构。现在,我可以将此列表分解为较小的部分,但是,根据我们的应用程序布局,这已经只是我们应用程序总体权限的一部分。在管理权限时,我们广泛地将此区别用于显示目的,如果可以避免的话,我此时不必重新访问该代码。 还有其他人遇到这个问题吗?你是怎么过去的?常规示例很好,但是如果我可以采用任何特定于语言的技巧来完成工作,则我对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 = …

9
什么时候最好将标志存储为位掩码而不是使用关联表?
我正在开发一个应用程序,其中用户具有使用不同功能(例如读取,创建,下载,打印,批准等)的不同权限。权限列表不会经常更改。我有几个关于如何在数据库中存储这些权限的选项。 在什么情况下,选择2会更好? 选项1 使用关联表。 用户 ---- 用户名(PK) 名称 部 允许 ---- PermissionId(PK) 名称 用户权限 ---- 用户ID(FK) PermissionId(FK) 选项2 为每个用户存储一个位掩码。 用户 ---- 用户名(PK) 名称 部 权限 [Flags] enum Permissions { Read = 1, Create = 2, Download = 4, Print = 8, Approve = 16 }

3
如何在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 …
76 php  bitmask 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.