python中的位运算符
很多人最开始接触位运算符的时候,简直就是一脸懵逼,压根就不知道什么跟什么,今天我就来给大家介绍一下,什么是位运算符。
位运算符包括&,|,^,~,<<,>>六种。
在介绍六种位运算符之前,我们先来了解一下,什么叫位运算符?众所周知,计算机只能识别二进制,我们输入的代码也是先被转化成二进制格式之后再运行的,而位运算符就是基于二进制来操作的。
下面,我将以 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中的位运算符相关推荐
- 详解Python中的位运算符规则、原理与用法
在Python中,位运算符包括位与(&).位或(|).位求反(~).位异或(^).左移位(<<)和右移位(>>). 1. 运算方法与规则 位运算符只能适用于整数,其总体 ...
- 分享:Python中的位运算符
按位运算符是把数字看作二进制来进行计算的.用的不太多,简单了解. 下表中变量 a 为 60,b 为 13二进制格式如下: a = 0011 1100 b = 0000 1101 a&b = 0 ...
- python基础(四)python中的位运算
(一)python中的位运算 位运算即按位(bitwise)运算,python中的位运算符有&.|.^.~.>>.<<.具体的: & 按位与运算符:参与 ...
- python中的成员运算符用于判断什么_Python之运算符
原标题:Python之运算符 这章我们介绍如何用Python的运算符,大家不懂的地方可以加群:579817333咨询学习 Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符 ...
- Python 中的位运算-基础知识
目录 1.编码基础知识-原码.反码.补码 1.1 原码 1.2 反码 1.3 补码 2.Python 中的位运算 2.1 左移运算符(<<) 2.2 右移运算符(>>) 2.3 ...
- Python中的算术运算符
Python提供了算术运算符.比较运算符.赋值运算符.位运算符.逻辑运算符等来实现Python的基础运算与判断功能. 这里首先介绍一下Python的算术运算符. 在接下来的几篇文章中,将陆续介绍其它运 ...
- C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?
逻辑右移与算术右移的区别? 逻辑右移就是不考虑符号位,右移一位,左边补零即可. 算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,:否则,就补0. 所以算术右移也可以进行有符号位的除法,右 ...
- chatgpt赋能python:Python中制表位的使用
Python中制表位的使用 在Python编程中,制表位是一个非常重要的概念.它是一种在控制台输出中对齐文本的方式.在本文中,我们将探讨Python中制表位的定义.使用和实现方法. 什么是制表位? 制 ...
- python中 是什么运算符_Python 运算符
Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子4 +5 = 9. 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持以下 ...
最新文章
- Android模拟器学framework和driver之传感器篇1(linux sensor driver)
- Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)
- Oralce-清除数据的两种思路
- 编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术
- PHP(三)——PHP基础知识
- 关于模型验证那点事儿
- tdk怎么设置_你真的做好网站的标题、描述、关键词(TDK)设置了吗?
- 数据库高级知识——MySql锁机制
- 小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析
- php html_entity_decode使用总结
- StarlingMVC:为Starling量身打造的MVC框架
- Hadoop公司考试题(基础)
- 数据库ACID、脏读、不可重复读和幻读
- C++文件读写 ifstream ofstream 完成复制文件功能
- Mac OS下Axure RP 8.0.0.3312安装及注册汉化
- X86服务器虚拟化技术CNware-WinServer
- 浙大PAT练习题1010
- java 窗体音量调节,Mixer音量调节
- 3. 天线设计理论 - 什么是带宽
- 衣服尺寸里面A,B是什么意思