20191031:Python取反运算详解

取反运算:~3 == 4

1.对于数字 3 =======》转换为二进制表示为011

2.对011取反为100

3.为什么表示-4

a.计算机用补码表示负数,正数的补码为其本身,负数的补码为其反码+1,现在我们一家知道了100表示的是一个负数的补码,需要做的就是求出其原码,转换为十进制就是我们要求的结果

b.所以针对负数的补码求其原码具体过程如下:

i.如果补码最高位是0,则原码就是补码,如0110 的源码也是0110

ii.如果补码的最高位是1,则原码就是补码的反码+1,然后取相反数

011

001

-------------------------------------

100

以100为例:100的反码为011,011+1 ==100,100转换为十进制为4,取相反数为-4

===========================================================================================

反推:~-4 == 3

1.-4在内存中存储形式为100(存的是补码),根据前面b步骤表示负数补码求源码的过程,源码为反码011+1 = 100======》-4的源码为100

2.对-4的源码取反 011,011首位是0,表示正数,所以表示3

关键知识点:计算机在内存中存储数据是以补码的形式存储,所谓的取反运算是针对源码来计算的。

1.正数的,反码,补码为其本身

2.负数的,反码为其符号位不变,其他位取反

3.负数的,补码为其反码+1

4.负数的补码为其反码+1

===========================================================================================

总结:

计算机对一个数求反的过程

1.先求出其源码(因为内存中存的都是反码)

2.对源码进行取反运算

3.将取反以后的值转换为源码

4.将源码转换为十进制真值

python中取反是什么意思_20191031:Python取反运算详解相关推荐

  1. python six模块详解_对python中的six.moves模块的下载函数urlretrieve详解

    实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu) 函数介绍:所用函数为six.moves下的urllib中的函数,调用如下urllib ...

  2. python2.7除法_对python中的float除法和整除法的实例详解

    从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下 ...

  3. python中怎么计数_浅谈python中统计计数的几种方法和Counter详解

    1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b ...

  4. python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  5. Python中常见的__init__.py是什么意思?详解Python import的方式和原理

    Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...

  6. python 读取图片转换为一维向量_对Python中一维向量和一维向量转置相乘的方法详解...

    对Python中一维向量和一维向量转置相乘的方法详解 在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况.但是在pyth ...

  7. python什么意思k_对python中的*args与**kwgs的含义与作用详解

    对python中的*args与**kwgs的含义与作用详解 在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数, ...

  8. args在python中什么意思_对python中的*args与**kwgs的含义与作用详解

    在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数,用于元组,**kw是关键字参数 例如下面的代码 def fo ...

  9. 在python中等号前面与后面分别是什么意思-python中is与双等于号“==”的区别示例详解...

    前言 在开始本文之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识).python type()(数据类型)和value(值).is和==都是对对象进行比较判断作用的,但对对 ...

  10. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

最新文章

  1. 计算机没考好检讨,考试没考好检讨书范文(精选6篇)
  2. 双十一购物节,Nacos 1.4.0 + Go SDK 1.0.1发布
  3. 调参,注意神经网络处于哪种相态
  4. RabbitMQ负载均衡(2)——HAProxy
  5. 通俗彻底解读批处理的延迟变量
  6. PWN-PRACTICE-BUUCTF-1
  7. ArrayList类contains方法实现原理
  8. npm设置http代理
  9. 9600波特率每秒传送多少字节_arduino传送字符串json到python解析为字典数据
  10. 高考数据分析和读书感悟
  11. 关于微信退款出现错误代码:52的解决方法【转】
  12. Ffmpeg 视频教程 向视频中添加文字
  13. python 面向对象编程;(搬家具)
  14. Ubuntu系统安装时grub修复操作
  15. 快速将网页内的公式粘贴到文档中
  16. Web-app,一款简洁高效率绿色html编辑器-安卓软件
  17. python爬虫下载网站磁力链接
  18. Python渗透测试编程技术-拒绝服务攻击
  19. python将列表平分
  20. OpenCvSharp (C# OpenCV)实现纺织物缺陷检测->脏污、油渍、线条破损(详细步骤 + 源码)

热门文章

  1. 性能优化:内存管理之手动JIT编译
  2. Premiere使用教程(三)工具栏介绍
  3. 2022.03.04 学习笔记 IPCC相关
  4. MYSQL sql 高阶语句 (sequel)
  5. Enlight官方第三届“金融帝国杯”玩家游戏视频邀请赛《竞赛规则》(2022.12.23修订)
  6. 用C语言实现三子棋(含思路+完整代码)
  7. 断点续传灯珠SK6813/WS2813 5V内置IC-LED 智能指示灯珠
  8. XML与Json比较
  9. 四旋翼飞行器设计指南(原理、程序、电机资料)
  10. python for ArcGIS 绘制天津市板块地图