Python中整数的~(按位取反)运算

Python按位取反~的运用 按位取反操作会反转整数的每一位二进制数(即将0变为1,1变为0)。但是,由于Python中的整数是任意精度的,并且使用补码表示法,直接对布尔值(或它们转换后的整数)使用。二进制原码:10000000 00000000 00000000 00000010 = 1*2^1 = -2。这是Python中按位取反运算符对布尔值(或它们转换后的整数)进行运算时的行为。,形成一个很大的负数,但由于整数的补码表示法,这个数会被解释为。)对布尔值进行运算时,Python会首先将布尔值转换为整数(),然后执行按位取反操作。 阅读详情

原理:1. 在计算机中整数用补码表示,非负数的补码是自身的二进制表示,负数的补码是相反数的二进制表示按位取反然后加1

2. python中整数的按位取反运算是先对整数的补码进行按位取反然后再回到整数

例子:~(-6)=5

步骤:(1)先求-6的补码表示:

-6 ——> 6(相反数) ——> 0000 0110(二进制表示) ——> 1111 1001(按位取反) ——> 1111 1010(加1)

(2)按位取反:

1111 1010 ——> 0000 0101(按位取反)

(3)回到整数:

0000 0101 ——> 5(回到整数)

 

推论:~5=-6

证明:把步骤逆回去就是。

推论:n为非负整数,则 ~n = n-1

 

 

Python位运算符详解 Python 位运算按照数据在内存中的二进制位(Bit)进行操作,它一般用于底层开发(算法设计、驱动、图像处理、单片机等),在应用层开发(Web 开发、Linux 运维等)中并不常见。想加快学习进度,或者不关注底层开发的读者可以先跳过本节,以后需要的话再来学习。Python 位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。Python 支持的位运算符如表 1 所示。 阅读详情

相关推荐

Python中实现数字按位取反

需要注意的是,按位取反操作会将二进制数的符号位也进行翻转,这可能会导致一些意想不到的结果。例如,在上面的示例中,原始数值为正整数,但是按位取反的结果却是负整数。因此,在做数字按位取反时,需要对结果进行特殊处理,以避免出现意外的错误。除了按位取反运算符,Python还提供了其他的按位运算符,如与运算符“&”、或运算符“|”和异或运算符“^”。在Python中,我们可以使用按位取反运算符“~”来实现数字按位取反的操作。按位取反运算符会翻转一个二进制数的所有位,包括符号位。Python中实现数字按位取反。

BUG?不存在的! 1006

Python中按位取反运算符(~)在计算机中的计算过程

1. 原码、反码、补码三者之间的关系 计算机中的数值是以二进制码的方式存储的,而且是以补码的方式存储的,数值的运算也是以补码的形式进行运算。我们通常看到的数值一般是十进制数,可以简单地理解为计算机将补码转换成原码,然后再将原码转换成十进制显示出来。 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。 正数的反码是其本身,负数的反码是在其原码的基础上, 符号...

谦虚使人发胖的博客 9360

ISO18000-6B/6C(EPC C1G2)两个射频识别(RFID)标准协议的技术特点

目前读写器基本上是采用IMPINJ的R2000芯片和E710芯片开发,因为ISO18000-6B标准的现在应用很少,E710芯片已经不再支持ISO18000-6B标准,选择上就只有采用R2000芯片开发的UR6258超高频读写器以及手持机,这个在项目应用上需要留意。尽管ISO18000-6B标准具有上述优点,但也存在一些不足之处,特别是多标签阅读性能远远满足不了现在的应用需求,近年来发展停滞,绝大部分应用已经被ISO18000-6C(EPC C1G2)取代;#RFID# #物联网# #标准协议#

RFID设备与应用介绍 2157

位运算-python中的“按位取反”

pyhon中的“按位取反” 补码 补码是三种机械数的一种,机械数有原码,反码,补码。 如果是正数,那么原码 = 反码 = 补码,正数的符号位为0(如01001,这里的0就是符号位,负数类似); 如果是负数,那么反码就是把原码的每一位取反,也就是 0 变成 1,1 变成 0 ;补码就是在反码的基础上 , 末位 + 1 ,负数的符号位为1(不变)。 过程 ~9 = -10 首先,把十进制数转化成二进制数,即 1001。 第二步,由于二进制数在内存中以补码的形式存储,所以我们需要把第一步得到的二进制数转成补码

king_fdy的博客 3353

Mask2former自定义数据集实现滑坡语义分割

先介绍一下这次用的数据集:Bijie Landslide Dataset,是武汉大学在Triplesat卫星上裁剪的数据集,包含770张滑坡(image、mask、dem、边界坐标txt)和2003张非滑坡数据(dem、image)。直接在ade20k修改,按照路径和设置将预处理数据放好,该步骤很快就能结束,打开的图片是全黑的,因为0和1在图片上肉眼较难区分。bijie的数据集可以直接使用,接下去的步骤是1、预处理数据。配置文件修改训练类别和训练类型,由于我们分割的是滑坡,所以进行语义分割。

weixin_57812838的博客 2216

044.树莓派4B部署YOLO:从系统烧录到模型运行

《树莓派4B部署YOLOv8实战笔记》摘要:本文详细记录了在ARM架构树莓派4B上部署YOLOv8的全流程。关键点包括:必须使用64位系统并手动编译OpenCV(禁用FFMPEG、开启NEON优化);模型需在x86转换为TFLite格式(分辨率不超过320×320);推理代码使用tflite_runtime替代TensorFlow以减少内存占用;针对USB摄像头卡顿、内存泄漏等典型问题给出了解决方案。

2603_95664987的博客 169

python中换位取反运算符【~】中具体的运算详解

计算机中的数值是以二进制码的方式存储的,而且是以补码的方式存储的。数值的运算也是以补码的形式进行运算 而我们通常看到的数值一般是十进制数,可以简单地理解为计算机将补码转换成原码,然后再将原码转换成十进制显示出来 我们知道如下规定: 正数的原码和补码都是其本身 负数的补码是其正数的原码各位取反,最后再加上1(符号位不变,数值位取反,最后一位加1) 负数的补码的补码就是其原码 公式: ~b = ...

lovelygirlyuzhu的博客 1174

YOLOv8改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作

HorNet: 利用递归门控卷积实现高效高阶空间交互GnConv(Recursive Gated Convolution,递归门控卷积)

Limiiiing的博客 324

对Python中的~(按位取反)运算的理解

Python中的~(按位取反)运算的理解: 按照我平时的理解,当我使用~按位取反运算的时候,计算机会将操作数所对应的二进制表达式的每一个位进行取反计算,取反后所得到的值就是~按位取反的运算结果(这点没问题) 例如,假如我的计算机是32位的,我接下来要计算~5的值,计算过程如下: 5 的二进制表达式为:0000 0000 0000 0000 0000 0000 0000 0101 执行~运算

Strive_Chuan的博客 2万+

阿里云 Docker 镜像加速收费后:这些免费替代方案值得收藏

阿里云Docker镜像加速服务收费后,国内开发者急需免费替代方案。本文推荐2025年仍可用的7个免费镜像源,包括轩辕镜像、DaoCloud、网易云等,并提供多源配置方案以提高稳定性。建议开发者在CI/CD环境中配置多个镜像源,避免构建失败。文章还提供了详细的配置步骤和使用建议,适合个人和团队开发者参考。

sg_knight的专栏 1930

手把手教你学Simulink--基础电机控制场景实例:基于Simulink的无刷直流电机六步换相仿真

摘要:本文详细介绍了基于Simulink的无刷直流电机(BLDC)六步换相仿真方法。文章首先阐述了BLDC六步换相控制的原理,包括霍尔传感器定位、六步换相逻辑和方波电流驱动三大支柱。然后通过电动工具(角磨机)应用场景,展示了如何在Simulink中搭建完整的六步换相系统:从主电路构建、霍尔信号生成、Stateflow换相逻辑实现到开环电压控制。仿真结果显示该系统具有低成本优势(仅需霍尔传感器),但存在±20%转矩脉动。文章还提供了核心代码实现,包括霍尔信号生成、六步换相状态机和转矩分析脚本,并对比了六步换相

MHD0815的博客 149

Python 按位取反运算符 ~ 详解:为什么 ~1 = -2?

本文深入解析Python中按位取反运算符~的行为,揭示~1输出-2的原因。关键点包括:补码存储机制(负数=对应正数取反+1)、有符号整数的最高位权值为负、Python只使用有符号整数等特点。通过8位补码示例和权值计算法,阐明~操作的本质是在补码上按位取反,推导出通用公式~i = -i - 1。文章对比Python与C语言的差异,列举列表索引、位操作等实用场景,并附带思考题帮助巩固理解。最终说明~运算符的结果完全符合补码运算规则。

m0_70773811的博客 238

使用 Python 爬取网易云音乐歌单数据(完整教程)

随着在线音乐平台的普及,网易云音乐(NetEase Cloud Music)凭借其个性化的推荐算法和丰富的用户互动,吸引了大量用户。网易云音乐的歌单中包含了丰富的音乐数据,包括歌曲名、歌手、专辑、播放量、评论数等信息。通过爬取这些数据,可以对音乐流行趋势进行分析,挖掘音乐推荐策略,甚至训练个性化推荐模型。网易云音乐的 API 并未官方开放,但开发者通过抓包和逆向分析,找到了若干可用接口。✅ 数据清洗与存储(CSV/数据库)✅ 网易云音乐 API 接口分析。✅ 网易云音乐接口解析。✅ 同步与异步爬取实现。

2201_76125261的博客 1373

python练习题(二十八):按位取反~

# 题目:按位取反~ a = int(input("请输入一个数字:")) aa = ~a print(aa) print("{0:b}".format(aa)) 运行结果:

biubiusion的博客 374

飞牛fnNAS搭建Web网页版OFFICE(WPS)软件

本文介绍了如何在飞牛NAS上通过Docker容器部署WPS Office办公软件。主要内容包括:启用Docker服务、准备项目文件夹结构、使用Compose方式构建容器、解决端口冲突问题、配置中文输入法和字体库,以及通过ZeroTier实现远程访问。文章详细说明了每个步骤的操作方法,包括容器启动、输入法设置、字体添加和文件存储位置配置。最后还介绍了使用ZeroTier内网穿透技术实现远程访问NAS上WPS服务的方法,让用户可以在不同设备上随时编辑NAS中的文件。整个部署过程完整清晰,为NAS用户提供了便捷的

dgnankai的专栏 1701

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Python位运算

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

qq_39084720的博客 449

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python位运算符_python的位运算

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!程序中的所有数在计算机内存中都是以二进制的形式储存的。 位运算就是直接对整数在内存中的二进制位进行操作。 python 中有6种位运算符: ①&:按位与运算符,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0; ②|:按位或运算符,只要对应的二个二进位有一个为1时,...

weixin_39729262的博客 597

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python 中对布尔值 `True` 进行取反操作

摘要:Python中推荐使用not运算符对布尔值True进行取反,这是最直接高效的方法。基础用法是对布尔变量或表达式取反,进阶应用包括条件判断、与非布尔值转换结合等。不推荐但可用的替代方法包括异或运算和条件表达式。需注意not(逻辑取反)与~(按位取反)的区别,以及Python对非布尔值的自动转换特性(如空序列为假)。NumPy数组可使用np.logical_not进行批量取反。

独坐一隅,凝神遐想,是种幸福! —— 独隅 1859

天池龙珠训练营Python基础学习打卡(2)

菜鸟学python

Jstarrain的博客 95

python按位或怎么按_在Python中按位操作如何工作?

我今天一直在学习按位运算,我知道不是(~)反转所有位,例如:01010to10101这意味着~10应该是-5,但是我看到它是-11(根据python命令行),即01010to11011只有两个位子被颠倒了。有人能解释为什么不是10101吗?编辑:在看了我的计算器之后,我对它有了一点更好的理解,但是我自己用来确定二进制和整数的代码仍然很混乱。输入(字节模式)11110101给出-11,但输入代码给出...

weixin_39800875的博客 293

3.13 Python位运算符

Python位运算按照数据在内存中的二进制位(Bit)进行操作,它一般用于底层开发(算法设计、驱动、图像处理、单片机等),在应用层开发(Web 开发、Linux 运维等)中并不常见。想加快学习进度,或者不关注底层开发的读者可以先跳过本节,以后需要的话再来学习。Python 位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。Python 支持的位运算符如表 1 所示。

qwy715229258163的博客 1053

当Python遇上位运算:解密一元按位操作符的底层逻辑

本文深入解析Python中一元按位操作符`~`的底层逻辑,从二进制补码表示到内存操作机制,揭示其在网络安全校验、数据加密等场景中的关键作用。通过实例代码展示按位取反的数学本质、Python整数特殊实现及实战应用,帮助开发者掌握这一高效工具。

weixin_29083373的博客 631

位运算符的运行过程(python),其他语言也一样

一、有6种位运算符 1.按位与【&】:仅当两个位操作数都为1,输出结果才为1,否则都输出为0 2.按位或【|】:仅当两个位操作数都为0,输出结果才为0,否则都输出为1 3.按位异或【^】:仅当两个位操作数不同时,输出结果才为1,否则都输出为0 4.按位取反【~】:将每一位取反,也就是1变成0,0变成1 5.左移动【<<】:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 6.右移动【>>】:把">>"...

zhougushen的博客 485

Python100例 我的实现展示(51-55例)

Python100例 我的实现展示(51-55例) '''51、学习使用按位与 & 。''' def test_exam_51(): a = 58 # a = 0011 1010 b = 11 # b = 0000 1011 c = 0 # c = 0000 0000 c = a & b # c = 0000 1010 = 10(ten) print(c) '''52、学习使用按位或 |。''' def

阿尔卑斯的畅想博客 158

Python中的按位运算符和如何表示各进制数

在Python中,按位运算符用于对二进制数中的每一位进行操作。Python中的按位运算符包括以下几个:1、按位与(&):对操作数的每一个二进制位执行逻辑与操作,只有当两个操作数的相应位都为1时,结果才为1。例如,3 & 5的结果为1。2、按位或(|):对操作数的每一个二进制位执行逻辑或操作,只要两个操作数的相应位有一个为1,结果就是1。例如,3 | 5的结果为7。3、按位异或(^):对操作数的每一个二进制位执行逻辑异或操作,只有当两个操作数的相应位不相同时,结果才为1。例如,3 ^ 5的结果为6。

Diobld的博客 618
上一篇: windows系统在Django中创建项目
下一篇: skimage的基本使用
math_computer
博客等级 码龄8年 43粉丝 176原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值