博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二章--第四节:运算符(二)
阅读量:5946 次
发布时间:2019-06-19

本文共 1116 字,大约阅读时间需要 3 分钟。

零、位运算符

位运算符就是将数字转换为二进制进行计算,位运算符包括:按位与(&)按位或(|)按位异或(^)按位取反(~)左移动(<<)右移动(>>)。解释见下表:

假设 a=10 ,b=12

运算符 名称 说明 例子
& 按位与 如果参与运算的两个变量,相应位都是1,则该位的结果位1,反之位0 a&b 结果为8
| 按位或 如果对应的二个二进位有一个为1时,结果位就为1 a
^ 按位异或 对应的二进位相异时,结果为1 a^b 结果为6
~ 按位取反 对数据的每个二进制位取反,即把1变为0,把0变为1 ~a 输出结果为 -11
<< 左移动 运算数的各二进位全部左移若干位,高位丢弃,低位补0 a<<11 结果为20480
>> 右移动 运算数的各二进位全部右移若干位 a>>11 结果为0

一、成员运算符

成员运算符主要是用于在序列中查找是否包含指定的值。成员运算符包含:innot in。解释见下表:

假设a=10,b=[1,2,3,4,5,6,7,8,9,0]

运算符 说明 例子
in 查找序列中是否存在指定的变量 a in b 结果为False
not in 查找序列中是否不存在指定的变量 a not in b 结果为True

二、身份运算符

用于检查两个值(或变量)是否位于存储器的同一部分。(两个变量相等,并不是说完全一样。)身份运算符包含:isis not。解释如下表:

假设a=1,b=1,c=[0,1,2],d=[0,1,2],e=‘hello’,f=‘hello’

运算符 说明 例子
is 是否引用的同一个对象 a is b结果为True,c is d 结果为False,e is f 结果为True
is not 是否引用的不是同一个对象 a is b结果为False,c is d 结果为True,e is f 结果为False

三、运算符优先级

运算符优先级见下表:

括号可以提高运算符优先级

运算符 解释
** 幂运算(优先级最高)
按位翻转, 一元加号和减号
* / % // 乘,除,取模和取整除
± 加法减法
>> << 右移,左移运
& 按位与
^ | 按位异或,按位或
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
and or not 逻辑运算符

四、小结

今天所讲的运算符在开发中也是经常使用的,需要牢记。

觉得不错打赏一下吧,金额随意!

70
70

转载于:https://www.cnblogs.com/BMFramework/p/10017239.html

你可能感兴趣的文章
Android Eclipse 修改默认查看图片的打开方式
查看>>
CMake与动态链接库(dll, so, dylib)
查看>>
myeclipse(eclipse)乱码处理
查看>>
SpringBoot 过滤器, 拦截器, 监听器 对比及使用场景
查看>>
数据库索引探索
查看>>
MYSQl left join 联合查询效率分析
查看>>
struts2使用json需要注意的问题
查看>>
客户端的socket是否需要bind?
查看>>
Comparator进行排序
查看>>
IOS自动进行View标记
查看>>
cookie 和session 的区别详解
查看>>
Tomcat访问日志详细配置
查看>>
get请求传递中文参数乱码解决方法
查看>>
苦战 自由软件的今生前世
查看>>
搭建 Discuz 论坛
查看>>
Go语言的国际化支持(资源文件翻译)
查看>>
install oracle 11g on linux (centos6) 遇到的问题
查看>>
PhoneGap插件开发流程
查看>>
iOS设计模式——桥接模式
查看>>
gitlab runner 优化
查看>>