`
hanqingwxf2008
  • 浏览: 50604 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

按位与、按位或组合

    博客分类:
  • ruby
 
阅读更多

下午  看了下 按位与、按位或组合 权限串应用

 

 

 

首先每一个权限数都是2的N次方数

如:   k1=2 ; //添加    00000010

          k2=4 ; //删除     00000100

          k3=8; //修改      00001000

user .insignia  => k1

增加 k2权限   需要对各个所拥有的权限数按位或了。

 user .insignia  | k2  =>    00000010 |  00000100   =>00000110

 

判断是否有k2权限  

user .insignia & k2      00000110 &  00000100   =>  00000100 ( =4=k2 )

 

说白了就是对2N次方数的按位与和按位或。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    16位数据取高其8位,低8位,高4位,低4位数据,并重新组合

    假设我们有高4位`0x10`和低4位`0x04`,我们可以创建一个16位的位掩码`0xFF0F`,然后将这两个值通过按位或(|)运算组合在一起,`0x10 | 0x04 = 0x14`。 位运算的效率非常高,因为它们是在硬件级别执行的,对于大...

    C#生成2位或N位不重复字母数字组合

    一种优化策略是在生成组合时避免过多的哈希查找,例如使用数组或列表来记录已使用的字符,但这种方法会增加内存消耗。 以上就是使用C#生成不重复字母数字组合的基本方法。通过理解并运用这个逻辑,你可以根据需求...

    hive udaf 实现按位取与或

    这种按位取与或的UDAF在大数据分析中非常有用,例如在处理二进制标志字段时,可以快速地统计满足特定条件的记录数量,或者找出所有可能的组合。 总结来说,实现“hive udaf 实现按位取与或”涉及到理解Hive UDAF的...

    基于PLC的位组合元件和功能指令

    ### 基于PLC的位组合元件和功能指令实现LED数码管显示 #### 一、引言 在工业自动化领域中,可编程逻辑控制器(Programmable Logic Controller,简称PLC)是一种广泛应用于控制系统的电子设备。PLC能够通过执行预设...

    8位数字和字母密码组合大全

    8位数字和字母组合大全,里含有四位六位八位的数组和密码的组合,密码批量测试神器,批量测试网站登陆密码测试,压力承受能力测试,大神必备神器!

    易语言组合6位不重复数字

    2. 组合生成函数:使用递归或循环来生成6位不重复的数字组合。 3. 验证或筛选机制:对生成的数字进行"减"和"加"操作,满足条件的组合会被保留。 4. 输出或存储结果:将符合条件的组合输出到屏幕或保存到文件。 理解...

    易语言组合6位不重复数字源码

    对于生成不重复数字组合,我们可以从最小的数字0开始,逐位填充到6位数中,每填一位都检查是否与已填数字重复,如果重复则回溯到上一位,尝试下一个数字。这个过程会递归地进行,直到生成所有可能的组合。 其次,...

    4位特定组合算法.rar

    3. **循环与迭代**:在实现4位特定组合算法时,可能会用到循环结构(如for或while)来遍历所有可能的4位组合。 4. **递归**:对于某些复杂的组合问题,可能需要使用递归算法来生成所有可能的4位组合,尤其是在考虑...

    易语言4位特定组合算法

    这个4位特定组合算法的源码可以作为一个基本模板,根据实际需求进行扩展,比如添加条件判断、优化性能或与其他逻辑结合。在易语言中,我们还可以利用其丰富的库函数来简化代码,提高效率。 在解压后的文件"易语言4...

    6位数,共有几种排列组合的算法java实现

    6位数,共有几种排列组合的算法,java实现

    生成全四位数字组合的字典0000-9999

    生成全四位数字组合的字典0000-9999

    三菱FX系列PLC 16位数据转32位数据变通方法

    4. 再次使用“或”(OR)操作,将R1的结果与R2的原始值合并,得到完整的32位数据。 在三菱FX系列PLC中,这可能涉及以下指令:MUL(乘法)用于扩展数值范围,SHL(左移位)用于移动数据,AND和OR用于位操作。需要...

    按位异或校验和计算器.rar_异或_异或在线计算_异或在线运算_按位异或_校验和计算器

    在十六进制中,每4位二进制对应一个十六进制数字,因此十六进制异或操作是对每个十六进制位进行二进制异或,然后将结果组合成新的十六进制数。例如,十六进制的"A"(二进制1010)与"B"(二进制1011)异或的结果是"F...

    C#生成指定位数的随机数字字母组合

    主要函数GetPassword(int digits):string 参数为所生成随机组合位数 比如说要生成10为随机数字字母组合,就string randomCode = GetPassword(10); 生成的结果有数字和大写、小写字母组合

    【verilog】桶形移位器组合逻辑,输入为32位二进制向量,根据方向和位移值输出循环移位后的32位结果

    实现桶形移位器组合逻辑,要实现的功能如下: 输入为32位二进制向量,根据方向和位移值输出循环移位后的32位结果。例如: 输入向量00011000101000000000000000000000,方向左,位移值10,输出向量...

    十六进制按位解析,BitDecode

    按位解析可以帮助理解这些位的组合如何影响程序执行或硬件状态。 4. **IPv6地址**: - IPv6地址由128位构成,通常以8组16进制数表示。按位解析工具能够将每组16进制数进一步拆分为4位,便于理解和处理复杂的子网...

    一个完整身份证效验程序 。公民身份号码是特征组合码18位:由十七位数字本体码和一位数字校验码组成。

    在中国,每个公民都有一个独特的身份证号,它由17位数字本体码和1位数字校验码构成,形成一个18位的特征组合码。这个号码包含了出生日期、性别、地区代码等个人信息,而校验码则用于确保号码的正确性。 1. **身份证...

    位与功能_labview_

    8. **位并集和位交集**:这两个操作用于创建包含两个或更多二进制数据集的位组合。位并集包含所有输入数据的位,而位交集只包含所有输入中都有的位。 9. **位转换**:LabVIEW还支持将数值在不同位宽之间转换,例如...

    DoWalle#algo#2275-[逐个考虑每个比特位]-按位与结果大于零的最长组合1

    题目:2275. 按位与结果大于零的最长组合位运算题目经典技巧:逐个考虑每一个比特位假设元素值只有 0 和 1,那么解法就很简单了:由于不能选 0(这会导致按位

Global site tag (gtag.js) - Google Analytics