位运算符 & | ~ ^ << >>
# ### 位运算符 & | ~ ^ << >>
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
'''
随机推荐
- Discovery Scanning
1.NetDiscover you performe layer 2 the comand : netdiscover -r 192.168.2.0/24 or use netdiscove ...
- TCP常见的定时器及三次握手与四次挥手
1.TCP常见的定时器 在TCP协议中有的时候需要定期或者按照某个算法对某个事件进行触发,那么这个时候,TCP协议是使用定时器进行实现的.在TCP中,会有七种定时器: 建立连接定时器(connecti ...
- MySQL视图,函数,触发器,存储过程
1. 视图 视图是一个虚拟表,它的本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来, ...
- 集腋成裘-08-ECharts -简介-01
目标:让数据说话. 大数据时代的到来以及有效应用,大幅度提升了企业的管理能力.决策科学化与可执行性水平,推动传统决策方式朝着数据驱动转型.可视化数据分析对决策者产生的意义将在事前预测.事中感知以及事后 ...
- 末学者笔记--Linux中RAID磁盘阵列及centos7启动过程
<一>RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便 ...
- day18常用模块之re模块
简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...
- 一步一步安装SQL Server 2017
快速开始: 下载安装文件:https://www.microsoft.com/en-us/sql-server/sql-server-downloads-free-trial 应该选择哪个版本? Th ...
- ViewPager+Fragment实现滑动切换页面
1.实现思路 主界面四个导航按钮使用RadioButton,通过Selector 设置它的drawableTop属性来设置所显示的图片.通过 FragmentPagerAdapter 实现切换. 2. ...
- Windows API教程文件系统
本篇文章主要介绍了"Windows API教程文件系统",主要涉及到Windows API教程文件系统方面的内容,对于Windows API教程文件系统感兴趣的同学可以参考一下. ...
- 使用CSS达到文字首尾对齐效果
在制作表单的时候经常会遇到需要不同个数的文字首尾对齐,比如: <span>姓名:</span> <span>联系方式:</span> 姓名: 联系方式: ...