第二天 第二章 运算符

  一、算数运算符

算数运算符是处理四则运算的符号,在数字处理中应用的最多。

运算符 说明 实例 结果
+ 1+2 3
- 5-2 3
* 2*3 6
/ 7/2 3.5
% 求余数 7%2 1
// 除法结果取整数 7//2 3
**

幂,返回x的y次方

2**4 16,即24

注:用%计算余数,如果除数是负数,那么结果也是负数。用/或//计算时,除数不能为0,否则会出现异常(ZeroDivisionError: 具体异常)。

  二、赋值运算符

赋值运算符主要用来为变量赋值。将右边的值赋给左边的变量。

运算符 说明 举例 展开形式
= 赋值 x=y x=y
+= 加赋值 x+=y x=x+y
-= 减赋值 x-=y x=x-y
*= 乘赋值 x*=y x=x*y
/= 除赋值 x/=y x=x/y
%= 取余赋值 x%=y x=x%y
**= 幂赋值 x**=y x=x**y
//= 取整除赋值 x//=y x=x//y

  三、比较(关系)运算符

比较(关系)运算符用于对变量或表达式的结果进行大小、真假做比较,如果比较为真则返回True,否则返回False。

运算符 作用 举例 结果
> 大于 'a'>'b' False
< 小于 156<456 True
== 等于 'c'=='c' True
!= 不等于 'y'!='t' True
>= 大于或等于 479>=426 True
<= 小于或等于 62.45<=45.5 False

注:判断一个变量是否在两个值之间时,可以用“值1 < 变量 < 值2”的形式,如:0 < a < 100,表示a大于0并且小于100。

  四、逻辑运算符

逻辑运算符是对布尔值进行的运算,结果仍是一个布尔值。

运算符 含义 用法 结合方向
and 逻辑与

op1 and op2

从左到右
or 逻辑或

op1 or op2

从左到右
not 逻辑非 not op 从右到左

使用逻辑运算符时,运算结果如下:

值1 值2 值1 and 值2

值1 or 值2

not 值1
True True True True False
True False False True False
False False False False True
False True False True True

  五、位运算符

位运算时把数字看作二进制数来计算,有位与(&)、位或(|)、位异或(^)、取反(~)、左位移(<<)和右位移(>>)运算符。

1. 位与运算(&)法则:只有对应数位都是1时,结果数位才是1,否则为0。如果精度不同,则结果精度与精度高的操作数相同。看下表:12&8

值1   0 0 0 0   0 0 0 0   0 0 0 0   1 1 0 0
值2 & 0 0 0 0   0 0 0 0   0 0 0 0   1 0 0 0
结果   0 0 0 0   0 0 0 0   0 0 0 0   1 0 0 0

2. 位或运算(|)法则:只有对应数位都是0时,结果数位才是0,否则为1。如果精度不同,则结果精度与精度高的操作数相同。看下表:4|8

值1   0 0 0 0   0 0 0 0   0 0 0 0   0 1 0 0
值2 | 0 0 0 0   0 0 0 0   0 0 0 0   1 0 0 0
结果   0 0 0 0   0 0 0 0   0 0 0 0   1 1 0 0

3. 位异或运算(^)法则:对应数位相同时(同时为0或同时为1),结果数位才是0,否则为1。如果精度不同,则结果精度与精度高的操作数相同。看下表:31^22

值1   0 0 0 0   0 0 0 0   0 0 0 1   1 1 1 1
值2 ^ 0 0 0 0   0 0 0 0   0 0 0 1   0 1 1 0
结果   0 0 0 0   0 0 0 0   0 0 0 0   1 0 0 1

4. 位取反运算(~)法则:对应数位取反,1改为0,0改为1。看下表:~123

~ 0 0 0 0   0 0 0 0   0 1 1 1   1 0 1 1
结构   1 1 1 1   1 1 1 1   1 0 0 0   0 1 0 0

5. 左移位运算(<<)法则:将一个二进制数向左移动指定位数,左边(高位)溢出的位被丢弃,右边(低位)的空位用0补齐。左移位运算相当于乘以2的n次幂。

十进制:48   00110000  
十进制:96 高位0溢出,舍弃 01100000 左移一位,低位用0补齐
十进制:192 高位0溢出,舍弃 11000000 左移一位,低位用0补齐

6. 右移位运算(>>)法则:将一个二进制数向右移动指定位数,右边(低位)溢出的位被丢弃,而填充左边(高位)时,如果最高位时0(正数),则填入0,如果最高位时1(负数),则填入1。右移位运算相当于除以2的n次幂。

十进制:48 最高位是0 00110000  
十进制:24 右移后补0 00011000 舍弃溢出的1个0

 

十进制:-80 最高位是1 10110000  
十进制:-20 右移后补1 11101100 舍弃溢出的2个0

  六、运算符的优先级

运算规则:优先级高的先执行,同一优先级的操作从左到右执行。小括号的最先执行。

运算符 说明
**
~、+、- 取反、正号、负号
*、/、%、// 乘、除、取余、取整
+、- 加、减
<<、>> 左移运算符、右移运算符
& 位与运算符
^ 位异或运算符
| 位或运算符
<、<=、>、>=、!=、== 小于、小于等于、大于、大于等于、不等于、等于
posted @ 2020-08-14 14:33  Zack6688  阅读(154)  评论(0)    收藏  举报