python的按位运算
#coding=utf-8#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算a=7&18print a'''首先将7转化为二进制,得到7的二进制值是111,自动补全为8位,即00000111,然后将18转化为二进制,得到18的二进制值是10010,同样补全8位,00010010我们将00000111和00010010按位进行与运算,得到的结果是00000010,然后转化为十进制,为2''' #按位或运算,我们要将数字转化为二进制之后按位进行或运算b=7|18print bprint b'''7的二进制是00000111,18的二进制是00010010我们将00000111和00010010按位进行或运算,得到的结果是00010111,然后我们将00010111转化为十进制,得到数字23''' #"^"按位异或c=7^18print c'''异或是指不同为1,相同为07的二进制形式是00000111,18的二进制形式是00010010我们将00000111和00010010按位进行异或运算得到的结果死00010101,然后将00010101转化为十进制得到数字21''' #"~"按位反转~x=-(x+1)d=~18 #~18=-(18+1)=-19print d #"<<"左移'''比如18左移就是将他的二进制形式00010010左移,即移后称为00100100,即为00100100,为36,左移一格单位相当于乘2,左移两个单位相当于乘4,左移3个单位相当于乘8.左移n个单位相当于乘2的n次幂'''e=18<<1print e f=3<<3print f
#coding=utf-8#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算a=7&18print a'''首先将7转化为二进制,得到7的二进制值是111,自动补全为8位,即00000111,然后将18转化为二进制,得到18的二进制值是10010,同样补全8位,00010010我们将00000111和00010010按位进行与运算,得到的结果是00000010,然后转化为十进制,为2''' #按位或运算,我们要将数字转化为二进制之后按位进行或运算b=7|18print bprint b'''7的二进制是00000111,18的二进制是00010010我们将00000111和00010010按位进行或运算,得到的结果是00010111,然后我们将00010111转化为十进制,得到数字23''' #"^"按位异或c=7^18print c'''异或是指不同为1,相同为07的二进制形式是00000111,18的二进制形式是00010010我们将00000111和00010010按位进行异或运算得到的结果死00010101,然后将00010101转化为十进制得到数字21''' #"~"按位反转~x=-(x+1)d=~18 #~18=-(18+1)=-19print d #"<<"左移'''比如18左移就是将他的二进制形式00010010左移,即移后称为00100100,即为00100100,为36,左移一格单位相当于乘2,左移两个单位相当于乘4,左移3个单位相当于乘8.左移n个单位相当于乘2的n次幂'''e=18<<1print e f=3<<3print f #">>"右移'''右移是左移的逆运算,即相对的二进制数向右移动,右移一个单位相当于除以2,右移两个单位相当与除以4,右移3个单位相当于除以8,右移n个单位相当于除以2的n次幂'''g=18>>1print g h=18>>2print h #"<="小于等于符号,比较运算,小于或者等于,返回一个bool值h=3<=3print h i=4<=3print i #">="j=1>=3print j k=4>=3print k #"=="比较两个对象是否相等l=12==13print l m="hello"=="hello"print m #not逻辑非n=Truem=not nprint m o=Falseprint not o #and逻辑与'''True and True 等于TrueTrue and False 等于FalseFalse and True 等于Flase''' print True and True #"or";逻辑或'''True and True 等于TrueTrue and False 等于TrueFalse and True 等于Flase'''print True and False
python的按位运算的更多相关文章
- jave 逻辑运算 vs 位运算 + Python 逻辑运算 vs 位运算
JAVA中&&和&.||和|(短路与和逻辑与.短路或和逻辑或)的区别 博客分类: 面试题目 Java.netBlog 转自 :http://blog.csdn.net/web ...
- python中的位运算
目录 1.判断奇偶数 2.交换两个数 3.找出没有重复的数 4.3的n次方 5. 找出不大于N的最大的2的幂指数 1.判断奇偶数 如果把n以二进制形式展示的话,我们只需要判断最后一个二进制位是1还是0 ...
- python数据类型和数据运算
数字 整型 包括正整数和负整数,和数学的表示方法一样.如:1.100.8008.-12等. 浮点型 浮点数字也称为小数,如果按照科学计数法表示时,小数点的位置是可变的.如:1.23x109==12.3 ...
- 剑指offer用位运算实现两个数相加,及python相关的位操作
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 代码: # -*- coding:utf-8 -*-class Solution: def Add(self ...
- 利用位运算进行a+b的计算(Java&&Python)
题目链接 需要用到的位运算操作:异或(^).与(&).右移(<<) 异或运算:又称不进位加法,a^b得到的结果为a与b相加,但是需要进位的地方不进位得到的结果 与运算:找出来a和b ...
- python位运算
什么是位运算 位运算就是把数字当成二进制来进行计算,位运算有六种:&(与), |(或), ^(异或), ~(非), <<(左移), >>(右移) &(与) &a ...
- Python语言中的按位运算
(转)位操作是程序设计中对位模式或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加 ...
- Python 进制转换、位运算
一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...
- Python笔记_第一篇_面向过程_第一部分_3.进制、位运算、编码
通过对内存这一个部分的讲解,对编程会有一个相对深入的认识.数据结构是整个内存的一个重要内容,那么关于数据结构这方面的问题还需要对进制.位运算.编码这三个方面再进行阐述一下.前面说将的数据结构是从逻辑上 ...
随机推荐
- 动态内存分配(new)和释放(delete)
在之前我们所写过的程序中,所必需的内存空间的大小都是在程序执行之前就已经确定了.但如果我们需要内存大小为一个变量,其数值只有在程序运行时 (runtime)才能确定,例如有些情况下我们需要根据用户输入 ...
- python 列表 字典 读写文件:pickle模块的基本使用
python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...
- Xcode export/upload error: Your session has expired. Please log in-b
1.Xcode export/upload error: Your session has expired. Please log in 我在stack over flow上找到的答案: 一看pre ...
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
1.Request.ApplicationPath->当前应用的目录 2.Request.FilePath->对应于iis的虚拟目录 如 URL http://mockte.com/1 ...
- Solr4.8.0源码分析(12)之Lucene的索引文件(5)
Solr4.8.0源码分析(12)之Lucene的索引文件(5) 1. 存储域数据文件(.fdt和.fdx) Solr4.8.0里面使用的fdt和fdx的格式是lucene4.1的.为了提升压缩比,S ...
- 转:Node.js异步处理CPU密集型任务的新思路
原文来自于:http://www.infoq.com/cn/articles/new-idea-of-nodejs-asynchronous-processing-tasks?utm_source=i ...
- mvc vs iis默认页面
有时候,再iis里面设置了web的默认页面index.html 希望跳转到这个页面index.html默认页面 而 mvc则跳转到路由里面的设置页面 怎么忽略这个呢. 设置路由可能是个好办法,能实现 ...
- 哈希集合——hashSet
/** 哈希集合特点:存取顺序不确定,同一个哈希值的位置可以存放多个元素, 哈希集合存放元素的时候是先判断哈希地址值:hashCode()是否相同,如果不同 ...
- 百度识图API
http://stu.baidu.com/ http://www.360doc.com/content/14/0801/17/21412_398653199.shtml http://download ...
- jps(JVM Process Status)
功能 列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在类)的名称,以及这些进程的本地虚拟机的唯一ID(LVMID,Local Virtual Machin ...