1.判断奇偶数

如果把n以二进制形式展示的话,我们只需要判断最后一个二进制位是1还是0,如果

是1的话,代表是奇数,如果是0则代表是偶数

for n in range(10):
if n & 1 == 1: # n为奇数
print(n)

2.交换两个数

两个相同的数异或之后结果会等于0,即n^n=0。任何数与0异或等于它本身

异或运算支持交换律和结合律

x = 0
y = 1
x = x ^ y # (1)
y = x ^ y # y = x^y^y = x^0 = x (2)
x = x ^ y # 把(1)(2)带入这里得,x = x^y^x = 0^y = y
print(x, y)

3.找出没有重复的数

找出一个全是数字的列表中没有重复出现的数

li = [1, 2, 3, 4, 5, 1, 2, 3, 4]
tmp = li[0]
for i in range(1, len(li)):
tmp = tmp ^ li[i]
print(tmp)

4.3的n次方

如果n=13,则n的二进制表示为1101,那么3的13次方可以拆解为:3^1101 = 30001*30100*3^1000

def pow_(n):
sum_ = 1
tmp = 3
while n != 0:
if n & 1 == 1:
sum_ *= tmp
tmp *= tmp
print(bin(n))
n = n >> 1
return sum_

5. 找出不大于N的最大的2的幂指数

def find_n(n):
n |= n >> 1
n |= n >> 2
n |= n >> 4
n |= n >> 8 # 整形一般是32位,上面假设是8位
return (n + 1) >> 1

python中的位运算的更多相关文章

  1. PHP中的位运算与位移运算(其它语言通用)

    /* PHP中的位运算与位移运算 ======================= 二进制Binary:0,1 逢二进1,易于电子信号的传输 原码.反码.补码 二进制最高位是符号位:0为正数,1为负数( ...

  2. C语言中的位运算和逻辑运算

    这篇文章来自:http://blog.csdn.net/qp120291570/article/details/8708286 位运算 C语言中的位运算包括与(&),或(|),亦或(^),非( ...

  3. Python 中的三元运算(软件测试中运用)

    前言 在java中,有类似于 (condition) ? a :b 这样的语法,表示如果condition 为真,返回a,反之返回b.我们称之为三元运算. 那Python中,有没有这样的语法呢,非常遗 ...

  4. Google Earth Engine 中的位运算

    Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...

  5. python中的位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下,下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ----- ...

  6. jave 逻辑运算 vs 位运算 + Python 逻辑运算 vs 位运算

    JAVA中&&和&.||和|(短路与和逻辑与.短路或和逻辑或)的区别 博客分类: 面试题目 Java.netBlog  转自 :http://blog.csdn.net/web ...

  7. js中的位运算

    按位运算符是把操作数看作一系列单独的位,而不是一个数字值.所以在这之前,不得不提到什么是"位": 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10 ...

  8. C#学习笔记-----C#枚举中的位运算权限分配

    一.基础知识 什么是位运算? 用二进制来计算,1&2:这就是位运算,其实它是将0001与0010做位预算   得到的结果是 0011,也就是3  2.位预算有多少种?(我们就将几种我们权限中会 ...

  9. C++中的位运算总结

    1)位运算 位运算是指对转换成二进制的数字进行每一位上的0.1的运算,运算涉及到五种运算:与(&),或(|),异或(^),左移(<<),右移(>>). 如下表所示:   ...

随机推荐

  1. Java EE javax.servlet.http中的HttpSession接口

    HttpSession接口 public interface HttpSession (https://docs.oracle.com/javaee/7/api/javax/servlet/http/ ...

  2. ASP.NET使用AJAX应注意IIS有没有.ashx扩展

    项目添加引用AJAX.DLL了:今天将本地做好的一个web程序放到服务器上,居然报告错误了.web程序使用了ajax来往返数据. 检查生成的html语句,有这么两句代码<script type= ...

  3. Spingboot+Mybatis+Oracle项目配置

    配置过程参考: 项目创建:http://how2j.cn/k/springboot/springboot-eclipse/1640.html 集成Mybatis使用Oracle:https://www ...

  4. node 基本搭建 server.js

    const express = require('express'); const expressStatic = require('express-static'); const bodyparse ...

  5. java enum类自定义属性

    enum类自定义属性 这就是enum比static静态变量好用的地方了,可以赋予每一个枚举值若干个属性,例如 实例1: public enum GasStationChannel { ZH(" ...

  6. day06 Python class基础篇

    一.目录 1.类与对象的概述 2.封装 3.继承 4.多态 5.类的成员 6.类与类之间的关系 7.私有 二. 内容讲解 一.类与对象的概述 类是对一系列具有相同属性的事物的抽象,相同于设计图纸,而对 ...

  7. Nginx作为静态资源web服务之缓存原理

    Nginx作为静态资源web服务之缓存原理 大致理一下http浏览器缓存原理: 浏览器第一次请求服务器,此时浏览器肯定没有缓存,则直接调用服务器端,服务器在返回的信息的信息头中添加 ETag和Last ...

  8. Troubleshooting: Cannot Run on an Android Device

    同事在他的开发环境中,在IDE中直接在手机上运行Android项目,结果出现这个错误,无法在手机上安装. 产生这个问题的原因,一般就是签名不对,这种情况,删除手机上装过的同名应用,就可以解决.当然,你 ...

  9. netfilter/iptables全攻略

    转:http://www.linuxso.com/linuxpeixun/10332.html 内容简介防火墙的概述iptables简介iptables基础iptables语法iptables实例案例 ...

  10. Sass的混合-@mixin,@include

    1,无参数,有参数和带默认值参数的@mixin声明sass文件内容: //带参数,默认50@mixin opa($opa:50){ opacity: $opa / 100; filter:alpha( ...