找规律

(1 ) &1 =1
(1 ) &2 =0
(1 ) &3 =1
(1 ) &4 =0
(1 ) &5 =1
(1 ) &6 =0
(1 ) &7 =1
(1 ) &8 =0
(1 ) &9 =1
(1 ) &10 =0
(1 ) &11 =1
(1 ) &12 =0
(1 ) &13 =1
(1 ) &14 =0
(1 ) &15 =1
(1 ) &16 =0
(1 ) &17 =1
(1 ) &18 =0
(1 ) &19 =1

(1 | 2 ) &1 =1
(1 | 2 ) &2 =2
(1 | 2 ) &3 =3
(1 | 2 ) &4 =0
(1 | 2 ) &5 =1
(1 | 2 ) &6 =2
(1 | 2 ) &7 =3
(1 | 2 ) &8 =0
(1 | 2 ) &9 =1
(1 | 2 ) &10 =2
(1 | 2 ) &11 =3
(1 | 2 ) &12 =0
(1 | 2 ) &13 =1
(1 | 2 ) &14 =2
(1 | 2 ) &15 =3
(1 | 2 ) &16 =0
(1 | 2 ) &17 =1
(1 | 2 ) &18 =2
(1 | 2 ) &19 =3

(1 | 2 | 4 ) &1 =1
(1 | 2 | 4 ) &2 =2
(1 | 2 | 4 ) &3 =3
(1 | 2 | 4 ) &4 =4
(1 | 2 | 4 ) &5 =5
(1 | 2 | 4 ) &6 =6
(1 | 2 | 4 ) &7 =7
(1 | 2 | 4 ) &8 =0
(1 | 2 | 4 ) &9 =1
(1 | 2 | 4 ) &10 =2
(1 | 2 | 4 ) &11 =3
(1 | 2 | 4 ) &12 =4
(1 | 2 | 4 ) &13 =5
(1 | 2 | 4 ) &14 =6
(1 | 2 | 4 ) &15 =7
(1 | 2 | 4 ) &16 =0
(1 | 2 | 4 ) &17 =1
(1 | 2 | 4 ) &18 =2
(1 | 2 | 4 ) &19 =3

(1 | 2 | 4 | 8) &1 =1
(1 | 2 | 4 | 8) &2 =2
(1 | 2 | 4 | 8) &3 =3
(1 | 2 | 4 | 8) &4 =4
(1 | 2 | 4 | 8) &5 =5
(1 | 2 | 4 | 8) &6 =6
(1 | 2 | 4 | 8) &7 =7
(1 | 2 | 4 | 8) &8 =8
(1 | 2 | 4 | 8) &9 =9
(1 | 2 | 4 | 8) &10 =10
(1 | 2 | 4 | 8) &11 =11
(1 | 2 | 4 | 8) &12 =12
(1 | 2 | 4 | 8) &13 =13
(1 | 2 | 4 | 8) &14 =14
(1 | 2 | 4 | 8) &15 =15
(1 | 2 | 4 | 8) &16 =0
(1 | 2 | 4 | 8) &17 =1
(1 | 2 | 4 | 8) &18 =2
(1 | 2 | 4 | 8) &19 =3

找到的规律就是数组  [1、2、4、8]   满足任意一个成员 Xn  = 任意多个不同成员异或运算的结果 y([X1-Xn]) & Xn

即  y([X1-Xn]) & Xn  =Xn

再看下 这个规律

(1 ) =1
(1 | 2 ) =3
(1 | 2 | 4 ) =7
(1 | 2 | 4 | 8) =15

2 的等比数列

巧用位运算规律 Flags的更多相关文章

  1. Java 位运算2-LeetCode 201 Bitwise AND of Numbers Range

    在Java位运算总结-leetcode题目博文中总结了Java提供的按位运算操作符,今天又碰到LeetCode中一道按位操作的题目 Given a range [m, n] where 0 <= ...

  2. 简简单单学会C#位运算

    一.理解位运算 要学会位运算,首先要清楚什么是位运算?程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),位运算就是直接对在内存中的二进制数的每位进行运算操作 二.理解数字进制 上面 ...

  3. C#枚举中的位运算权限分配浅谈

    常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在设计权限时, 我们可以把权限管理操作转换为C#位运算来处理. 第 ...

  4. EF架构~为分组添加位运算聚合方法

    回到目录 我们知道在Linq里的分组groupby可以对集合中一个或者多个字段进行分组,并对其中一个属性进行聚合,而Linq为我们提供了多种聚合方法,由aver,sum,count等,而在大叔权限体系 ...

  5. javascript位运算

    javascript作为一门高级语言,他尽量让开发人员减少思考底层的硬件工作原理,而将精力集中在逻辑开发的层面.不过,不论这门语言多么高级,我们必须知道数据依然以bits的形式存储,有时候我们会直接与 ...

  6. C#位运算讲解与示例2

    在C#中可以对整型运算对象按位进行逻辑运算.按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位.C#支持的位逻辑运算符如表2.9所示. 运算符号 意 ...

  7. 关于C/C++中的位运算技巧

    本篇文章讲述在学习CSAPP位运算LAB时的一些心得. 移位运算的小技巧 C/C++对于移位运算具有不同的策略,对于无符号数,左右移位为逻辑移位,也就是直接移位:对于有符号数,采用算术移位的方式,即左 ...

  8. C语言原码反码补码与位运算.

      目录:     一.机器数和真值     二.原码,反码和补码的基础概念     三.为什么要使用原码,反码和补码     四.原码,补码,反码再深入     五.数据溢出测试     六.位运算 ...

  9. POJ 1781 In Danger Joseph环 位运算解法

    Joseph环,这次模固定是2.假设不是固定模2,那么一般时间效率是O(n).可是这次由于固定模2,那么能够利用2的特殊性,把时间效率提高到O(1). 规律能够看下图: watermark/2/tex ...

随机推荐

  1. Python--day25--复习(单继承和多继承的总结)

  2. java 面试题之银行业务系统

    1.需求 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客 ...

  3. 1024程序员节!(JAVA Code)

    点我:传送门  程序员节快乐~ 水水题 A import java.util.*; import java.io.*; public class Main { public static void m ...

  4. Postman:非专业的并发测试

    Postman是开发中常用的接口测试工具,也可以用来进行并发测试. 使用方法如下: 1. 直接输入url 选择GET方法,点击Send. 结果打印一个"test",如下: 2. 使 ...

  5. Linux 内核驱动结构嵌入

    如同大部分驱动核心结构的情形, device_driver 结构常常被发现嵌到一个更高级的, 总 线特定的结构. lddbus 子系统不会和这样的趋势相反, 因此它已定义了它自己的 ldd_drive ...

  6. SSH框架 通用 错误(404,500等)返回页面设置

    在web.xml里面加入

  7. Comet OJ - Contest #5

    Comet OJ - Contest #5 总有一天,我会拿掉给\(dyj\)的小裙子的. A 显然 \(ans = min(cnt_1/3,cnt_4/2,cnt5)\) B 我们可以感性理解一下, ...

  8. dotnet core 黑科技·String

    本文来告诉大家 dotnet core 里面使用的黑科技,如何提高String.IndexOf(char)的性能 在Performance Improvements in .NET Core有说道哪些 ...

  9. gulp 批量添加类名 在一个任务中使用多个文件来源

    1.首先安装环境 1.安装gulp: npm install gulp 2.安装gulp-clean-css npm install gulp-clean-css 3.安装gulp-css-wrap ...

  10. phpcms V9自定义分页函数

    大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcms\libs\functions\global.func.php里的pages()函数,这样问题 ...