知行编程网知行编程网  2022-11-09 03:00 知行编程网 隐藏边栏  3 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python中的位运算符有哪些的相关知识,包括c语言位运算中符号位是什么,以及c语言中的位运算符是什么意思这些编程知识,希望对大家有参考作用。



Python中的位运算符是什么



Python中的位运算符有哪些?



1.位运算的介绍

& 按位与

| 按位或

^ 按位异或

~ 按位取反

<< 按位左移

> 按位右移

用途: 直接操作二进制,省内存,效率高



2.位运算


1)<< 按位左移

各二进位全部左移n位,高位丢弃,低位补0

Python中的位运算符是什么

x << n 将x的所有二进制位左移n位,移出的位被删除,移入的位用零填充

num = 0b00000001
print(num)
num = num<<1
print(num)
num = num<<1
print(num)
num = num<<1
print(num)
num = num<<1
print(num)

输出结果为:

1
2
4
8
16


【注意事项】

左移1位相当于 乘以2

用途:快速计算一个数乘以2的n次方 (8<<3 等同于8*2^3)

左移可能会改变一个数的正负性


2)>> 右移

各二进位全部右移n位,保持符号位不变

x >> n x x 的所有二进制位都右移 n 位,移位的位被删除,进位位补符号位。右移不会改变数字的符号


【注意事项】

右移1位相当于 除以2

将 x 右移 n 位相当于除以 2 的 n 次方。目的:快速计算一个数除以2的n次方(8>>3相当于8/2^3)

num = 0b10000000
print(num)
num = num>>1
print(num)
num = num>>1
print(num)
num = num>>1
print(num)
num = num>>1
print(num)

输出结果为:

128
64
32
16
8


3)& 按位与

全 1 为 1,否则为 0:只有当对应的两个二进制位均为 1 时,结果位才为 1。

Python中的位运算符是什么


4) | 按位或

如果有 1,则为 1。只要对应的两个二进制位中有一个为 1,则结果位为 1,否则为 0。

Python中的位运算符是什么


5) ^ 按位异或


Python中的位运算符是什么


6) ~ 取反


Python中的位运算符是什么


【为什么9取反变成了-10的说明】:

9的原码 ==> 0000 1001 因为正数的原码=反码=补码,所以实际存储的时候

候就是0000 1001

接下来进⾏对9的补码进⾏取反操作

进⾏取反==> 1111 0110 这就是对9 进⾏了取反之后的补码

既然你知道了补码,你只需要把它转换成我们可以识别的码类型。

因此,按照规则,1111 0110的补码可以转换成原码。

符号位不变,其它位取反==> 1000 1001

然后+1 ,得到原码 =======>1000 1010 这就是 -10

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享