找规律

(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. 如何查看linux中的ssh端口开启状态

    netstat -anp |grep 22 netstat -anp |grep sshlsof -i :22

  2. CSS滤镜 :灰色 ,方便站点哀悼

    html {  -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); ...

  3. FatJar技术

    概念 将一个jar及其依赖的三方jar全部打到一个包中,这个包即为FatJar. 作用 作用: Jar包隔离,避免Jar冲突. 打包方式 maven-shade-plugin插件: spring-bo ...

  4. C# 从 short 转 byte 方法

    本文告诉大家多个方法转换 short 和 byte 有简单的也有快的 快速简单的方法 static short ToShort(short byte1, short byte2) { return ( ...

  5. tensorflow在文本处理中的使用——辅助函数

    代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...

  6. 一次接口压力测试qps极低原因分析及解决过程

    一次接口压力测试qps极低原因分析及解决过程 9-2日在做内部的性能测试相关培训时,发现注册接口压力测试qps极低(20左右),这个性能指标远不能达到上线标准 ,经过一系列调试,最后定位 98%的时间 ...

  7. html2canvas生成图片报错处理办法

    详见大佬博客链接: link.(https://www.jianshu.com/p/22bd5b98e38a) 需要注意的是要生成的网页中带的网络图片地址(如放在阿里云服务器图库的图片)经常有跨域报错 ...

  8. css元素居中的几种方式

    1.水平居中 <div style="width:200px;margin:0 auto;background-color: yellow;">水平居中</div ...

  9. Linux 内核 动态设备

    术语"热插拔"最普遍使用的意义产生于当讨论这样的事实时, 几乎所有的计算机系统现在 能够处理当系统有电时设备的出现或消失. 这非常不同于只是几年前的计算机系统, 那时 程序员知道他 ...

  10. 牛客多校第一场 B Inergratiion

    牛客多校第一场 B Inergratiion 传送门:https://ac.nowcoder.com/acm/contest/881/B 题意: 给你一个 [求值为多少 题解: 根据线代的知识 我们可 ...