很多人最开始接触位运算符的时候,简直就是一脸懵逼,压根就不知道什么跟什么,今天我就来给大家介绍一下,什么是位运算符。

位运算符包括&,|,^,~,<<,>>六种。

在介绍六种位运算符之前,我们先来了解一下,什么叫位运算符?众所周知,计算机只能识别二进制,我们输入的代码也是先被转化成二进制格式之后再运行的,而位运算符就是基于二进制来操作的。

下面,我将以  a=7,b=10 为例子来给大家介绍这六种位运算符的前四种(原本想要全部介绍的,但是因为懒,不想打太多字,所以...至于后两种,看我以后什么时候有时间吧。)

因为, a=7,b=10, 所以a、b转化为二进制之后, a的原码为 0 0000111, b的原码为                0 0001010,因为a和b都为正数,所以a和b的补码等于原码

&:按位与运算符

    &,叫做按位与运算符。就是先把你输入的数转化为二进制的格式,然后对照两个数的补码,两个数相对应的位上面的数,如果都是1的话,则结果为1,否则结果就为0,最后程序再把结果转化成原码,然后再转化成十进制,然后输出。

a = 7
b = 10
print(a & b)

上面的代码运行之后,会输出2.

因为对照a和b的补码各位上的数,会发现只有第二位上两者都为1,所以程序得到的结果是           0 0000010,也就是2.

所以,按位与运算符可以理解为:按位数来看,a与b都是1,则结果为1。

|:按位或运算符

    |,叫做按位或运算符。就是先把你输入的数转化为二进制的格式,然后对照两个数的补码,两个数相对应的位上面的数,只要有一个是1的话,则结果为1,否则为0,最后程序再把结果转化成原码,然后再转化成十进制,然后输出。

a = 7
b = 10
print(a | b)

上面的代码运行之后,会输出15.

因为对照a和b的补码各位上的数,会发现各位上至少都会有一个数上面为1,所以程序得到的结果是0 0001111,也就是15.

所以,按位或运算符可以理解为:按位数来看,a或b有一个是1,则结果为1。

^:按位异或运算符

^,按位异或运算符。就是先把你输入的数转化为二进制的格式,然后对照两个数的补码,两个数相对应的位上面的数,只要两个数相反的话,则结果为1,否则为0,最后程序再把结果转化成原码,然后再转化成十进制,然后输出。

a = 7
b = 10
print(a ^ b)

上面的代码运行之后,会输出13.

因为对照a和b的二进制各位上的数,会发现各位上只有第二位两者相同,所以程序得到的结果是1101,也就是13.

简单来说,就是可以理解为:按位数来看,a和b相反,则结果为1.

~:按位取反运算符

~,按位取反运算符。就是先把你输入的数转化为二进制的格式,然后将其补码各位上的数都取反,也就是如果是1的话就取0,如果是0的话就取1,最后程序再把结果转化成原码,然后再转化成十进制,然后输出。

a = 7
print(~a)

上面的代码运行之后,会输出-8.

因为,a为正数,所以a的补码为 0 0000111,然后对补码上包括符号位的数一起取反,所以得到

1 1111000,然后再将结果转化成原码,因为符号位上的数为1,所以该数为负数,负数补码转化为原码,符号位上的数不变,其他取反再加1,最终得:1 0001000,也就是-8.

最后,再告诉大家一个小规律,~a,输出的是“-a-1”,不信大家可以去试试。

好了,今天的介绍就到这里为止,希望我的介绍能对小伙伴们有所帮助,然后希望小伙伴们如果觉得有用的话,可以点一下赞,给我点鼓励。

python中的位运算符相关推荐

  1. 详解Python中的位运算符规则、原理与用法

    在Python中,位运算符包括位与(&).位或(|).位求反(~).位异或(^).左移位(<<)和右移位(>>). 1. 运算方法与规则 位运算符只能适用于整数,其总体 ...

  2. 分享:Python中的位运算符

    按位运算符是把数字看作二进制来进行计算的.用的不太多,简单了解. 下表中变量 a 为 60,b 为 13二进制格式如下: a = 0011 1100 b = 0000 1101 a&b = 0 ...

  3. python基础(四)python中的位运算

    (一)python中的位运算   位运算即按位(bitwise)运算,python中的位运算符有&.|.^.~.>>.<<.具体的:   & 按位与运算符:参与 ...

  4. python中的成员运算符用于判断什么_Python之运算符

    原标题:Python之运算符 这章我们介绍如何用Python的运算符,大家不懂的地方可以加群:579817333咨询学习 Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符 ...

  5. Python 中的位运算-基础知识

    目录 1.编码基础知识-原码.反码.补码 1.1 原码 1.2 反码 1.3 补码 2.Python 中的位运算 2.1 左移运算符(<<) 2.2 右移运算符(>>) 2.3 ...

  6. Python中的算术运算符

    Python提供了算术运算符.比较运算符.赋值运算符.位运算符.逻辑运算符等来实现Python的基础运算与判断功能. 这里首先介绍一下Python的算术运算符. 在接下来的几篇文章中,将陆续介绍其它运 ...

  7. C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?

    逻辑右移与算术右移的区别? 逻辑右移就是不考虑符号位,右移一位,左边补零即可. 算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,:否则,就补0. 所以算术右移也可以进行有符号位的除法,右 ...

  8. chatgpt赋能python:Python中制表位的使用

    Python中制表位的使用 在Python编程中,制表位是一个非常重要的概念.它是一种在控制台输出中对齐文本的方式.在本文中,我们将探讨Python中制表位的定义.使用和实现方法. 什么是制表位? 制 ...

  9. python中 是什么运算符_Python 运算符

    Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子4 +5 = 9. 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持以下 ...

最新文章

  1. Android模拟器学framework和driver之传感器篇1(linux sensor driver)
  2. Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)
  3. Oralce-清除数据的两种思路
  4. 编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术
  5. PHP(三)——PHP基础知识
  6. 关于模型验证那点事儿
  7. tdk怎么设置_你真的做好网站的标题、描述、关键词(TDK)设置了吗?
  8. 数据库高级知识——MySql锁机制
  9. 小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析
  10. php html_entity_decode使用总结
  11. StarlingMVC:为Starling量身打造的MVC框架
  12. Hadoop公司考试题(基础)
  13. 数据库ACID、脏读、不可重复读和幻读
  14. C++文件读写 ifstream ofstream 完成复制文件功能
  15. Mac OS下Axure RP 8.0.0.3312安装及注册汉化
  16. X86服务器虚拟化技术CNware-WinServer
  17. 浙大PAT练习题1010
  18. java 窗体音量调节,Mixer音量调节
  19. 3. 天线设计理论 - 什么是带宽
  20. 衣服尺寸里面A,B是什么意思

热门文章

  1. MT6765-Preloader_流程分析--基于android 10
  2. C语言-结构体-计算两点距离(Problem 3591)
  3. kaggle中的房价预测的一些数据分析方法详解
  4. Qt—设计颜色编辑选取对话框
  5. gige相机二次开发_GigE Vision接口摄像机及其应用
  6. css3图片倾斜3D效果
  7. SAP 各个模块简介以及常用的数据表
  8. linux下安装及使用DNW
  9. centos7 SFTP
  10. 哈达玛矩阵的相关基础知识