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)运算的优先级

优先级从高往低为:

幂运算

取反、取正、取复

整除、除、乘、取余

加、减

移位

按位与

按位异或

按位或

比较运算

赋值运算

相关推荐
LightspeedResearch23 分钟前
冲刺高分!挑战7天一篇GBD DAY1-7
学习
南宫生38 分钟前
力扣动态规划-19【算法学习day.113】
java·学习·算法·leetcode·动态规划
charlie1145141911 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(绘图设备封装)
c语言·stm32·单片机·学习·oled·嵌入式软件
萝卜青今天也要开心2 小时前
读书笔记-《Redis设计与实现》(二)单机数据库实现(上)
java·数据库·redis·学习·缓存
Bluesonli3 小时前
UE5 蓝图学习计划 - Day 8:触发器与交互事件
学习·ue5·虚幻·虚幻引擎·unreal engine
学问小小谢4 小时前
第21节课:前端构建工具—自动化与模块化的利器
运维·前端·学习·计算机·自动化·电脑·硬件工程
遗憾皆是温柔4 小时前
JavaFX - 3D 形状
java·开发语言·ide·学习·3d
蝴蝶不愿意13 小时前
《苍穹外卖》项目学习记录-Day7添加购物车
学习
我的青春不太冷14 小时前
【实战篇章】深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据
运维·服务器·前端·学习
power-辰南15 小时前
人工智能学习(四)之机器学习基本概念
人工智能·学习·机器学习