python入门语法教程:位操作符

2022-07-2719:44:42编程语言入门到精通Comments709 views字数 933阅读模式

 1. 位操作符文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

位操作符属于操作符中比较难的内容,位操作符以二进制位单位进行运算,操作的对象以及结果都是整数型。
位操作符有如下几个:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、>>(右位移)和<<(左位移)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

具体说明看下表:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

运算符名称例子功能
&按位与A&BA和B进行位与运算
|按位或A|BA和B进行位或运算
~按位取反~AA进行取反运算
^按位异或A^BA和B进行位异或运算
>>右位移A>>cA右移c位
<<左位移A<<cA左移c位

依此介绍一下各种位运算。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

1)位与运算(A&B)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

位与运算中,A和B按位进行与运算,当每位对应全是1的时候对应结果位1,反之为0文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

10111001
00100011
00100001

可以看出,当10111001&00100011得到00100011。当对应位同时为1才为1。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

2)位或运算(A|B)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

10110010
01011110
11111110

可以看出,当10110010 | 01011110得到11111110,对应位置存在一个1的时候即为1。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

3)异或位运算(A^B)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

10110010
01011110
11101100

可以看出,10110010^01011110得到11101100,对应位置相反的时候,即0对应1,1对应0的时候得到1。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

4)按位取反运算(~A)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

01010101
10101010

按位取反的过程中需要运用补码运算,即0补为1,1补为0。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

5)左右位移文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

右移时,(第一行为移动前,第二行为移动后)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

01010101
01010101

右边最低位为溢出位被丢弃,在填充左侧最高位时,如果最高位是0,则填0,如果最高位是1,则填1。右移相当于除上2的n次方。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

左移时, (第一行为移动前,第二行为移动后)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

00101010
01010100

左边最高位为溢出位被丢弃,在最右边空位补0,左移相当于乘上2的n次方。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

这章内容带领大家深入了解计算机世界的0和1,可以选择性去掌握了解,最后来介绍一下运算符的优先级,在算法运算时遇到操作符优先级问题的时候可以参考此表格。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

由低到高

<、>、<=、>=、!=、==
|
^
&
<<、>>
+、-
*、/、%、//
~、+、-
**

这一章内容比较抽象,可以反复阅读去掌握它的内容,下一节我们学习Python的控制结构.文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26124.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26124.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定