#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的按位运算的更多相关文章

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

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

  2. python中的位运算

    目录 1.判断奇偶数 2.交换两个数 3.找出没有重复的数 4.3的n次方 5. 找出不大于N的最大的2的幂指数 1.判断奇偶数 如果把n以二进制形式展示的话,我们只需要判断最后一个二进制位是1还是0 ...

  3. python数据类型和数据运算

    数字 整型 包括正整数和负整数,和数学的表示方法一样.如:1.100.8008.-12等. 浮点型 浮点数字也称为小数,如果按照科学计数法表示时,小数点的位置是可变的.如:1.23x109==12.3 ...

  4. 剑指offer用位运算实现两个数相加,及python相关的位操作

    题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 代码: # -*- coding:utf-8 -*-class Solution:    def Add(self ...

  5. 利用位运算进行a+b的计算(Java&&Python)

    题目链接 需要用到的位运算操作:异或(^).与(&).右移(<<) 异或运算:又称不进位加法,a^b得到的结果为a与b相加,但是需要进位的地方不进位得到的结果 与运算:找出来a和b ...

  6. python位运算

    什么是位运算 位运算就是把数字当成二进制来进行计算,位运算有六种:&(与), |(或), ^(异或), ~(非), <<(左移), >>(右移) &(与) &a ...

  7. Python语言中的按位运算

    (转)位操作是程序设计中对位模式或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加 ...

  8. Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  9. Python笔记_第一篇_面向过程_第一部分_3.进制、位运算、编码

    通过对内存这一个部分的讲解,对编程会有一个相对深入的认识.数据结构是整个内存的一个重要内容,那么关于数据结构这方面的问题还需要对进制.位运算.编码这三个方面再进行阐述一下.前面说将的数据结构是从逻辑上 ...

随机推荐

  1. underscorejs-each学习

    2.1 each 2.1.1 语法: _.each(list, iteratee, [context]) 2.1.2 说明: 依次对集合的所有元素进行某种操作,原样返回list.接收3个参数,list ...

  2. 关于InstallShield Projects[转]

    关于   InstallShield   Projects:         InstallShield   可以创建三种类型的项目(Project)     1.InstallScript   Pr ...

  3. SOLID (面向对象设计) 基本原则

      SOLID (面向对象设计) 基本原则    在 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特•C•马丁在21世纪早期[1] 引入的记忆术首字母缩略 ...

  4. C# 中使用 OpenSSL 的公钥/私钥进行加密和解密

    在C#中进行RSA解密,需要用RSACryptoServiceProvider,但是不支持OpenSSL格式的公钥或者私钥. X509 公钥 -----BEGIN PUBLIC KEY----- MI ...

  5. angularJS内置指令一览

    基础ng指令 ng-href ng-src ng-disabled ng-readonly ng-checked ng-selected ng-class ng-style ng-show ng-hi ...

  6. centos 下 搭建 php 环境

    本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...

  7. 自定义jdbc框架

    获取元数据 元数据- DataBaseMetaData DatabaseMetaData meta = con.getMetaData(); getDatabaseProductName().getD ...

  8. 周赛F题 POJ 1458(最长公共子序列)

    F - F Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u   Description ...

  9. Memcached-1.4.4启动参数——手动设置chunk大小的上限

    最近在看memcached的源代码,源码包是memcached-1.4.22,一开始看memcached.c的main函数的时候发现了和1.2.8的不同之处. 可能在1.4.22版本之前就已经添加了这 ...

  10. P1066 2^k进制数

    传送门 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进 ...