龙空技术网

Python中的位运算符

优美的代码 82

前言:

现时看官们对“python语言中整型对应的英文代码”大约比较关切,各位老铁们都想要知道一些“python语言中整型对应的英文代码”的相关知识。那么小编同时在网摘上收集了一些有关“python语言中整型对应的英文代码””的相关文章,希望小伙伴们能喜欢,各位老铁们一起来学习一下吧!

Python中的位运算符与其它语言中的位运算符作用相同。

位运算符也称二进制运算符,并且这些运算符只用于对整型数进行运算。

进行位运算时,整型数被转换为二进制形式,然后位运算符对每位执行有关运算后,将结果再转换回十进制形式,并返回给用户。

Python中的位运算符

Python中共有6种位运算符:

一、& 按位与运算

对应位上的二进制数进行与运算,如果参加位运算的两个二进制数为1,则结果为1,只要有一个为0,则结果为0,如10和4进行按位与运算,他们对应的二进制形式分别为:1010 和 100,则:

1 0 1 0

& 0 1 0 0

-----------

0 0 0 0

即10和4按位与运算的结果为二进制的0,也对应着10进制的0,最终结果即为0,即 10 & 4 = 0

再如,5和6进行按位与运算,其对应的二进制形式分别为: 101 和 110,

0 1 0 1

& 0 1 1 0

-------------

0 1 0 0

其运算结果为二进制的100,即十进制的4,也就是说: 5 & 6 = 4

在Python中的运行结果如下:

二、| 按位或运算

按位或运算是二进制对应的每位进行或运算。如果对应的两位都为0,则结果为0,只要有一个为1,则结果为1。

10 和 4的或运算:

1 0 1 0

| 0 1 0 0

------------

1 1 1 0

其或运算的结果为二进制的 1110,对应着十进制的 14,即 10 | 4 = 14.

5 和 6的或运算:

0 1 0 1

| 0 1 1 0

------------

0 1 1 1

5 和 6的按位或运算结果为 0111,对应的十进制为 7 ,即 5 | 6 = 7.

在Python中的运行结果:

三、^ 按位异或运算

按位异或运算,即对应的两个二进制位不同时,结果为1,否则为0.

10 和 4 的按位异或运算:

1 0 1 0

^ 0 1 0 0

------------

1 1 1 0

即,结果为二进制1110,对应的十进制为14,亦即: 10 ^ 4 = 14

5 和 6 的按位异或运算:

0 1 0 1

^0 1 1 0

------------

0 0 1 1

0011对应的十进制数为3,也就是说: 5 ^ 6 = 3

在Python中的运行结果:

四、~ 按位取反运算符

该运算是单操作数运算符,即其只需要一个操作数参与运算。运算时,二进制数上的每位取反,即1变为0, 0变为1.

这里涉及到数字在计算机中的存储形式,在计算机中,最高位为符号位,符号位为0时表示正数,符号位为1时表示负数。

数字在计算机中是以补码的形式进行存储的,正数的补码与原码相同,负数的补码是在原码的基础上除符号位外,按位取反后,再加1.

如 +1,原码为0 0001,补码为 0 0001.

-1 ,原码为1 0001,补码为:1 1111。

再如:+2 ,原码为: 0 0010,补码为:0 0010.

-2,原码为:1 0010,补码为:1 1110

10按位取反运算(第1位为符号位):

~ 0 1 0 1 0

--------------

1 0 1 0 1

结果最高位为1,为负数,因为负数在计算机中以补码形式存储,转换为原码(先减1,再按位反)为:

1 1011

即对应的十进制数为 -11,即: ~10 = -11.

5 按位取反运算:

~ 0 0 1 0 1

---------------

1 1 0 1 0

结果对应的原码为: 1 0110,对应的十进制数为:-6

在Python中的运行结果:

五、<< 按位左移运算符

其形式为:m<<n

按位左移运算,m对应的二进制数的每位向左移动n位,后面补0.

如10的二进制数 1010 向左移动两位后为:10 1000,其对应的十进制数为:40.

5的二进制数:0101,向左移动两位后为:1 0100,其对应的十进制数为:20

也就是说,一个整数左移n位相当于这个数 m×2n

在Python中的运算结果:

六、 >> 按位右移运算符

其形式为:m >> n

即m对应的二进制数每位向右移动n位,移出的二进制数字去掉,最左边空出的变为0.

10的二进制 1010 向右移动1位为:0101,即变为十进制的5;再移动1位变为0010,变为2,再移动1位变为0001,变为1,再移动就一直为0了。

即每向右移动1位,相当于原数除以2,只保留整数部分;移动n位,相当于原数除以2n,只保留整数部分。

在Python中的运算结果:

移位运算符

欢迎关注本号,本号将持续更新相关内容。

也欢迎你指出文章中的不当之处,让每个人知道什么是正确的事情。

标签: #python语言中整型对应的英文代码