python按位或怎么算_python的按位运算

#coding=utf-8

#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算

a=7&18

print a

'''首先将7转化为二进制,得到7的二进制值是111,自动补全为8位,即00000111,然后将18转化为二进制,得到18的二进制值是10010,同样补全8位,00010010

我们将00000111和00010010按位进行与运算,得到的结果是00000010,然后转化为十进制,为2'''

#按位或运算,我们要将数字转化为二进制之后按位进行或运算

b=7|18

print b

print b

'''7的二进制是00000111,18的二进制是00010010

我们将00000111和00010010按位进行或运算,得到的结果是00010111,

然后我们将00010111转化为十进制,得到数字23'''

#"^"按位异或

c=7^18

print c

'''异或是指不同为1,相同为0

7的二进制形式是00000111,18的二进制形式是00010010

我们将00000111和00010010按位进行异或运算

得到的结果死00010101,然后将00010101转化为十进制

得到数字21'''

#"~"按位反转~x=-(x+1)

d=~18 #~18=-(18+1)=-19

print d

#"<<"左移

'''比如18左移就是将他的二进制形式00010010左移,即移后称为00100100,即为00100100,为36,左移一格单位相当于乘2,左移两个单位相当于乘4,左移3个单位相当于乘8.

左移n个单位相当于乘2的n次幂'''

e=18<<1

print e

f=3<<3

print f

#coding=utf-8

#"&"按位与运算,是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算

a=7&18

print a

'''首先将7转化为二进制,得到7的二进制值是111,自动补全为8位,即00000111,然后将18转化为二进制,得到18的二进制值是10010,同样补全8位,00010010

我们将00000111和00010010按位进行与运算,得到的结果是00000010,然后转化为十进制,为2'''

#按位或运算,我们要将数字转化为二进制之后按位进行或运算

b=7|18

print b

print b

'''7的二进制是00000111,18的二进制是00010010

我们将00000111和00010010按位进行或运算,得到的结果是00010111,

然后我们将00010111转化为十进制,得到数字23'''

#"^"按位异或

c=7^18

print c

'''异或是指不同为1,相同为0

7的二进制形式是00000111,18的二进制形式是00010010

我们将00000111和00010010按位进行异或运算

得到的结果死00010101,然后将00010101转化为十进制

得到数字21'''

#"~"按位反转~x=-(x+1)

d=~18 #~18=-(18+1)=-19

print d

#"<<"左移

'''比如18左移就是将他的二进制形式00010010左移,即移后称为00100100,即为00100100,为36,左移一格单位相当于乘2,左移两个单位相当于乘4,左移3个单位相当于乘8.

左移n个单位相当于乘2的n次幂'''

e=18<<1

print e

f=3<<3

print f

#">>"右移

'''右移是左移的逆运算,即相对的二进制数向右移动,右移一个单位相当于除以2,右移两个单位相当与除以4,右移3个单位相当于除以8,右移n个单位相当于除以2的n次幂'''

g=18>>1

print g

h=18>>2

print h

#"<="小于等于符号,比较运算,小于或者等于,返回一个bool值

h=3<=3

print h

i=4<=3

print i

#">="

j=1>=3

print j

k=4>=3

print k

#"=="比较两个对象是否相等

l=12==13

print l

m="hello"=="hello"

print m

#not逻辑非

n=True

m=not n

print m

o=False

print not o

#and逻辑与

'''True and True 等于True

True and False 等于False

False and True 等于Flase'''

print True and True

#"or";逻辑或

'''True and True 等于True

True and False 等于True

False and True 等于Flase'''

print True and False

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值