学习笔记(02):2019Python全套视频教程-位移运算

立即学习:https://edu.youkuaiyun.com/course/play/26099/322894?utm_source=blogtoedu

'''
位运算
&(与)  |(或)  ~(非) ^(异或) >>(右移)  <<(左移)
'''

a = 2
b = 3
'''
0 为假  1为真
与:同时为真值为真  一个为假值为假
 0000 0010
&
 0000 0011
----------
 000000010
'''

print(a & b)  # 结果 2

'''
或:同时为假值为假  一个为真值为真
 0000 0010
|
 0000 0011
----------
 0000 0011
'''

print(a | b)  # 结果 3

'''
0000 0010
取反
1111 1101
转十进制:
步骤如下:
符号位为1 负数  减1
1111 1100 
取反
0000 0011
转十进制
3
负数
-3

'''

print(~a)  # 结果-3

'''
异或:相同为0  不同为1

 0000 0010
^
 0000 0011
----------
 0000 0001
'''
print(a ^ b)  # 结果1

'''
右移:变小   

数值//2的右移位数次方

例如

56 >> 3  值为 56//2的3次方(56整除2的三次方
 
'''
print(a >> 1)  # 结果 1
'''
#临界值
0>>n位  仍然为0
-1 >> n位 仍然为-1

'''

print("0右移n位:" + str(0 >> 5000))
print("-1右移n位:" + str(-1 >> 255))

'''
左移:数值变大
数值*2的位移次方
'''

print(a << 5)  # 结果 8

'''
#临界值
0<<n位  仍然为0

'''

print("0左移n位:" + str(0 << 5000)) # 结果 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值