python学习记录4

目录

(1)位运算

(2)运算的优先级


(1)位运算

位运算是将数字看做二进制数来运算的,位运算分为按位与(&)、按位或(|)、按位异或(^)、按位取反(~)。还有移位运算(左移位<<、右移位>>)计算时需将数字转换为二进制每一位对齐进行排列。

运算规则

按位与则是两数都为1则为1,否则为0;

按位或两数都为0则为0,否则为1

按位异或:两数相同取0,两数不同取1

按位取反:0变成1,1变成0。注意二进制是有隐藏符号位的,因此按位取反数值的正负也会发生改变。

位运算:包括符号位位移,溢出则丢弃

计算步骤如下:

8 (D) : 1000(B)

10(D): 1010(B)

按位与:

1010

1000


结果: 1000(B)=8(D)

按位或:

1010

1000


结果: 1010(B)= 10(D)

按位异或:

1010

1000


结果: 0010(B)=2(D)

按位取反:

1010


结果: (0)0101 (B)= -9(D)

左移位,右移位

这里移动两位

001010 -> 101000 = 40

1010 -> 0010 = 2

python 复制代码
x = 10
y = 8
print(x&y,'\n',x|y,'\n',x^y,'\n',~y,sep='')
print(x<<2,x>>2)

(2)运算的优先级

优先级从高往低为:

幂运算

取反、取正、取复

整除、除、乘、取余

加、减

移位

按位与

按位异或

按位或

比较运算

赋值运算

相关推荐
DKPT5 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好好研究7 小时前
学习栈和队列的插入和删除操作
数据结构·学习
新中地GIS开发老师8 小时前
新发布:26考研院校和专业大纲
学习·考研·arcgis·大学生·遥感·gis开发·地理信息科学
SH11HF9 小时前
小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
学习·云计算
Frank学习路上9 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
Chef_Chen11 小时前
从0开始学习计算机视觉--Day07--神经网络
神经网络·学习·计算机视觉
X_StarX12 小时前
【Unity笔记02】订阅事件-自动开门
笔记·学习·unity·游戏引擎·游戏开发·大学生
MingYue_SSS12 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习
weixin_4373982113 小时前
转Go学习笔记(2)进阶
服务器·笔记·后端·学习·架构·golang
慕y27413 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习