# ### 位运算符  & | ~ ^ << >>
var1 = 19
var2 = 15
# & 按位与
"""
res = var1 & var2
print(res)
"""
'''
000...10011
000...01111
000...00011
''' # | 按位或
res = var1 | var2
'''
000...10011
000...01111
000...11111
'''
print(res) # ^ 按位异或
res = var1 ^ var2
'''
000...10011
000...01111
000...11100
'''
print(res) # << 左移 (左移 相当于乘以2的几次幂 n << m 相当于n乘2的m次幂)
res = 5 << 1
res = 5 << 3
print(res)
'''
000...101
000..1010
''' # >> 右移 (右移 相当于除以2的几次幂 n >> m 相当于n除2的m次幂)
res = 5 >> 1 # 5 // 2的1次幂 => 2
res = 5 >> 2 # 5 // 2的2次幂 => 1
res = 5 >> 3 # 5 // 2的3次幂 => 0
print(res)
'''
000...101
000....10 =>2
000....01 =>1
''' # ~ 按位非 (按位非 操作的二进制的补码, 对二进制的每一位进行取反,包括符号位) 公式:-(n+1)
res = ~19
print(res)
'''
000...10011 (补码)
111...01100 (按位非) # 给补码求原码
111...01100 100...10011 (反码)
100...10100 (原码 = 反码+1)
十进制 => -20
'''
res= ~(-19)
print(res)
'''
1000...10011 (原码)
1111...01100 (反码)
1111...01101 (补码) # 现在进行按位非
0000...10010
因为高位都是0是正数
原码 = 反码 = 补码
0000...10010 (原码)
''' """
运算符的优先级:
() 括号优先级最高
** 优先级其次
= 优先级最低 一元运算符:同一时间只操作一个数字的 (- , ~)
二元运算符:同一时间能操作二个数字的 (+ , -...)
~19+5
一般来说,一元运算符 大于 二元运算符的优先级 + - * / => * / 大于 + -
() not and or => not > and > or 如果都是二元运算符:
算术运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
赋值运算符 作为最后等号右边的值算好后进行赋值.
"""
res = 5+5 << 6 // 3 is 40 and True
print(res)
'''
5+5 << 2 is 40 and True
10 << 2 is 40 and True
40 is 40 and True
True and True
True
'''

  

随机推荐

  1. postgresql :: FATAL: could not write init file

    出现此错误,原因是磁盘空间被用尽.需要清理磁盘空间即可.

  2. 模块度Q

    模块度:也称模块化度量值,是目前常用的一种衡量网络社区结构强度的方法. 常用语衡量一个社区划分结果的优劣:一个理想化的社区划分应该对应着社区内部节点间相似度尽可能的高,同时社区外部节点间的相异度尽可能 ...

  3. Python_多线程threading模块

    python 在执行的时候会淡定的在CPU上只允许一个线程运行,故Python在多核CPU的情况下也只能发挥出单核的功能,其中的原因:gil锁 gil 锁 (全局解释器锁):每个线程在执行时都需要先获 ...

  4. net core 部署到windows 服务

    NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...

  5. 2018-2019-1 20189201《Linux内核原理与分析》第四周作业

    1. 阴天☁️ 你说你爱烟雨微茫,雨来时你却伞遮霓裳: 你说你爱春光灿烂,阳光普照时你却孑然惆怅: 你说你爱微风轻柔,风拂发梢时你却紧闭门窗: 这便是为何你说你也深深爱我,我却眼波成霜. 2. 今日发 ...

  6. 程序员之路:python3+PyQt5+pycharm桌面GUI开发

    http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想 ...

  7. linux 添加ssh和开启ssh服务apt管理的ubuntu

    是在ubuntu下出现的需求 现笔记记录 apt-get  update 更新源命令 apt-get  install  openssh-server 安装ssh服务 容易出现无法定位软件包.出现此问 ...

  8. forEach循环

    一.语法 var myArr=['camille','2020','vas','en','France']; // 1.只输出元素,传一个参数 myArr.forEach(function (ele) ...

  9. git彻底删除某个文件的全部log历史记录

    git filter-branch -f --tree-filter 'rm -rf vendor/gems' HEAD git push origin --force如果log历史较多 可能需要一点 ...

  10. JS功能函数

    1.整数每三位增加一个, function toThousands(num) {      return (num || 0).toString().replace(/(\d)(?=(?:\d{3}) ...