Python的位运算

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


位运算

什么是位

在计算机中无论是整数、浮点数还是字符,都是以位(bit)的形式存储的,一个bit的取值只有 “1”和“0” 两个值,8位的bit构成一个字节 “byte”。对于一些图像、驱动以及硬件控制等操作,都需要进行位运算。

位运算符

Python的位运算符包括:
在这里插入图片描述

按位与运算&:只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0。它的真值表为:
在这里插入图片描述
例如在32位系统中,9&5的位运算可以表示成:
在这里插入图片描述
&运算符会对参与运算的两个整数的所有二进制位进行&运算,9&5的结果为 1。按位与运算通常用来对某些位清 0,或者保留某些位。例如要把 n 的高 16 位清 0 ,保留低 16 位,可以进行n & 0XFFFF运算(0XFFFF 在内存中的存储形式为 0000 0000 – 0000 0000 – 1111 1111 – 1111 1111)。

按位或运算|:两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。它的真值表为:
在这里插入图片描述
例如,9 | 5可以转换成如下的运算:
在这里插入图片描述
按位或运算可以用来将某些位置 1,或者保留某些位。例如要把 n 的高 16 位置 1,保留低 16 位,可以进行n | 0XFFFF0000运算(0XFFFF0000 在内存中的存储形式为 1111 1111 – 1111 1111 – 0000 0000 – 0000 0000)。

按位异或运算^:参与运算的两个二进制位不同时,结果为 1,相同时结果为 0。
它的真值表为:
在这里插入图片描述
按位异或运算可以用来将某些二进制位反转。例如要把 n 的高 16 位反转,保留低 16 位,可以进行n ^ 0XFFFF0000运算(0XFFFF0000 在内存中的存储形式为 1111 1111 – 1111 1111 – 0000 0000 – 0000 0000)。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值