<<   左移,每移动1位,相当于乘以2      例如:32<<2    等价于:32*4 ==128

>>   右移,每移动1位,相当于除以2      例如:32>>3    等价于:32/8  == 4

位运算的速率比算数运行速率高

& 位与

|  位或

~ 按位取反

^ 按位异或

*原码,反码,补码,负数表示法

原码:人直观看到的数字

1==>0b1,  -1==>-0b1 ,bin(-1)    #binary二进制

反码:正数的反码和原码相同;负数的反码符号位(最高位)不变,其余位按位取反

补码:正数的补码和原码相同;负数的反码符号位(最高位)不变,其余位按位取反后+1

计算机中用补码来存数字

补码的补码就是原码

负数表示法:

5-1 ==>5+(-1)   ==>

5的原码 (补码)   0b0000 0101

-1的原码                 0b1000 0001

-1的补码                 0b1111 1111

补码相加                 0b 0000  0100    #红色的1溢出,丢弃

例:~12

12      ==>    0b0000 1100

~12    ==>    0b1111 0011

0b1000 1101    ==>-13

例:10^9

解:10     0b 0000 1010

9     0b 0000 1001

10^9   0b 0000  0011    3

10^-9

解:  10   0b 0000 1010

-9   0b 1000 1001

10^-9 0b 1000 0011   -3

Python基础学习---位运算符的更多相关文章

  1. Python 基础1 - 位运算符

    引言 本文主要介绍位运算符,实际上Python有以下7类运算符: [赋值运算符].[比较运算符].[算术运算符].[逻辑运算符].[身份运算符].[成员运算符].[位运算符] 位运算符 按位运算符是把 ...

  2. python基础学习笔记——运算符

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运算.赋值运算 算数运 ...

  3. Python基础学习---比较运算符

    比较运算符 注意: 不同类型数据之间只能==   !=   ,不能比较大小>   >=   <   <= 比较运算符返回一个bool值 比较运算符可以链式运算      4&g ...

  4. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  5. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  6. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  7. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  8. python基础语法(运算符及优先级)

    python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者 ...

  9. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

随机推荐

  1. GC知识记录

    2.关于Minor GC,Major GC与Full GC 1)  Minor GC:即新生代的GC,指发生在新生代的垃圾收集动作.当新生代的Eden区内存不足时,就会触发Minor GC.由于对象创 ...

  2. .NET常用功能

    1.判断对象判不为null或不为""或不为"undefined" public static bool isNotNullOrBlank(Object obj) ...

  3. CF Manthan, Codefest 16 B. A Trivial Problem

    数学技巧真有趣,看出规律就很简单了 wa 题意:给出数k  输出所有阶乘尾数有k个0的数 这题来来回回看了两三遍, 想的方法总觉得会T 后来想想  阶乘 emmm  1*2*3*4*5*6*7*8*9 ...

  4. java之JVM(二)

  5. 8.3 GOF设计模式二: 适配器模式 Adapter

    GOF设计模式二: 适配器模式 Adapter  为中国市场生产的电器,到了美国,需要有一个转接器才能使用墙上的插座,这个转接 器的功能.原理?复习单实例模式  SingleTon的三个关键点  ...

  6. 你所误解的微信公众号开发、以及微信公众号网页授权、接收url跳转参数等问题

    前言:有一星期没跟新博客了,最近太忙.项目赶进度就没把时间花在博客上:今天来说说所谓的微信公众号开发和填坑记录: 微信公众号:运行在微信终端的应用 (对于开发者来说比较爽的你只需考虑兼容微信浏览器,因 ...

  7. require 4种引入方式的区别

    以下四种引入方式的区别: 自己创建的包里面封装了一些方法,只是把aa文件夹放在了node_modules文件夹里,所以在引用时,不需要写上相对路径,也不能在网上下载 这是网上别人封装好了的包,下载好了 ...

  8. 一、Git简介

    由于工作需要,代码版本控制工具由SVN换为了Git.Git对于我来说,很陌生,不清楚其工作原理,所以查询了一些资料,将自己所得知的内容来汇总一下,梳理一下这方面的知识,同时也给其他想了解Git的童鞋们 ...

  9. C#生成.tlb文件初认识

    刚接手同事的代码,生成文件时,发现生成了一个对应的dll文件(应用程序中输出类型为类库),和一个对应的.tlb文件,但是报如下的错误: 那么.tlb文件是如何生成的呢? 选择项目->右键属性-& ...

  10. python web1(解析url)

    环境:pycharm 尝试对地址进行切片 去掉头 http 或 https a.遇到了一些问题 url = 'https://www.cnblogs.com/derezzed/articles/811 ...