美文网首页
03-数值运算

03-数值运算

作者: 酷飒de小姐姐 | 来源:发表于2021-03-19 11:59 被阅读0次

一、四则运算(+-*/)

可以对两个整数进行加、减、乘、除操作。下面的例子演示了这4种基本操作的结果。

1 、>>> 1+2                          # 加法运算   

2 、3                                # 结果为3

3、 >>> 1-2                            # 减法运算

4 、-1                                # 结果为-1

5 、>>> 200-32                          # 减法运算   

6 、168                              # 结果为168

7 、>>> 2*-9                          # 乘法运算

8 、-18                                # 结果为-18

9 、>>> 12/4                        # 除法运算

10 、3                                # 结果为3

需要注意的是,在Python 3中,如果除法运算不能除尽,那么返回的是浮点数。如5/2得到的不是2,而是2.5。这与C语言和Java语言不同,甚至与Python 2也不同。

2.幂运算(**)

可以用a**b表示a的b次幂,即ab。例如:

1 、>>> 2**2                        # 结果是4

3.得到余数(%)

需要注意的是,如果被除数是整数,那么返回值就是整数;如果被除数是负数,那么返回值就是负数;如果被除数是0,那么抛出ZeroDivisionError异常,表示这是非法操作。例如 :

1      >>> 12 % 3                                    # 12除以3的余数        # 余数为0 

>>> 12 % 5                                            # 12除以5的余数          # 余数为2

>>> 12%-5                                              # 被除数为-5, 余数也是小于或等于0、是-3                                                              >>> 5 % 0                                              # 被除数是0,抛出异常Traceback (most recent call last):File "<stdin>", line 1, in <module>ZeroDivisionError: integer division or modulo by zero

4.相反数(-)

相反数是绝对值相同、符号相反的数。如8的相反数就是-8,-8的相反数就是8,0的相 反数还是0。可以通过“-”来达到取反的目的。

5.++/--的问题

和C语言及Java语言不同,在Python中没有自增“++”和自减“--”操作符。在前面我们介绍过“-”操作符,表示得到相反数。如果是两个“-”则表示取了相反数后再次取相反数,所以--a表示取a的相反数的相反数,得到的结果为a。

6.优先级问题

乘除的优先级高于加减。

相反数操作符“-”的优先级高于加减乘除和幂运算。

二、位运算

1.按位与(&)

按位依次进行与操作。该操作需要两个操作数,返回值的每一位的值是两个操作数的对应位进行与操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值不会发生改变。与操作表如下图:

表1 表2

2.按位或(|)

按位依次进行或操作。该操作需要两个操作数,返回值的每一位的值是两个操作数的对应位进行或操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值不会发生改变。或操作真值表如下:

表3

3.按位异或(^)

按位依次进行异或操作。该操作也需要两个操作数,返回值的每一位的值是两个操作数的对应位进行异或操作的结果。该操作并不改变操作数自身,即进行该操作后,两个操作数的值并不会发生改变。异或操作如下:

表4

4.按位取反(~)

按位依次进行取反操作。该操作只需要一个操作数,返回值的每一位的值是操作数的对应位进行取反操作的结果。该操作并不改变操作数自身,即进行该操作后,原操作数的值并不会发生改变。取反操作如下:

表5

三、移位运算

移位操作等效于乘以2或者除以2,但是移位运算的效率更高。所以在乘以或者除以2的整数幂时使用移位操作可以提升代码的执行速度。移位操作包括左移和右移两个操作。左移操作相当于得到原操作数除以2的n次方,右移操作相当于得到原操作数乘以2的n次方。这两个操作都不改变原操作数的值。

1.左移操作(>>)

相当于得到原操作数除以2的n次方,原操作数不发生变化。

每左移一位相当于是除以2,即a>>1等效于a/2。如果移动n位,则等效于连除以n个2,即a>>n等效于(((a>>1)>>1)...)>>1。如果操作数是正数,那么对之不停进行左移一位操作,其最终结果一定可以得到0。如果操作数是负数,对之不停进行左移一位操作,是否最后也一定能够得到0呢?来看下面的例子:

-1左移一位还是-1,所以负数不停左移最后会停留在-1而不是0上。

>>> -1>>100  # -1移动100位,依然是-1。

2.右移操作(<<)

相当于得到原操作数乘以2的n次方,原操作数不发生变化。

相关文章

  • 03-数值运算

    一、四则运算(+-*/) 可以对两个整数进行加、减、乘、除操作。下面的例子演示了这4种基本操作的结果。 1 、>>...

  • shell之运算符

    expr 或 let 数值运算工具 注意:+号左右必须有空格 $((运算式)) 或 $[运算式] 数值运算工具

  • Numpy中的矩阵运算+聚合操作+arg运算(2019.1.17

    Numpy中的矩阵运算 1.矩阵与数值之间的运算,矩阵与数值之间的算术运算,是矩阵里面的元素与数值进行运算 2.矩...

  • Sass变量基本运算

    介绍 任何语言中都会存在数据的运算,运算又分为数值运算和逻辑运算。今天我们学习数值运算的部分'+'、"-""、*"...

  • 数值运算

    数值运算方法有如下3种实现方式: 案例: aa=11 bb=22 dd=$(expr $aa + $bb) 上面的...

  • 数值运算

    描述 获得用户输入的一个字符串,格式如下: M OP N 其中,M和N是任何数字,OP代表一种操作,表示为如下四种...

  • Bash运算符

    一、数值运算与运算符 1.1数值运算 1.1.1 declare 声明变量类型 语法: 选项:-:给变量设定类型属...

  • Bash运算符

    Bash运算符 一、数值运算 1、declare声明变量类型 2、数值运算 方法1用declare将变量声明为整数...

  • python标准数据类型--数值

    数值类型: python支持的数值类型有整数、浮点数和复数(a+bj) 数值操作 基本四则运算:+-*/,除法运算...

  • shell算术运算

    数值运算符 +,- ,* ,/ ,%, 比较运算符 < ,<= ,> ,>= ,= ,!= shell中写算术运算...

网友评论

      本文标题:03-数值运算

      本文链接:https://www.haomeiwen.com/subject/ncfmcltx.html