• Python中的除法


    在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如 int a=15/10; a的结果为1。

    同样的在Java中也是如此,所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换,例如 float a = (float)b/c ,其中b、c都是int型数据。

    Python中分为3种除法:传统除法、精确除法、地板除。

    传统除法

    如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。

    >>>1/2  
    0  
    >>>1.0/2.0  
    0.5  

    精确除法

    除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division 指令就可以做到这一点。

    >>>from __future__ import division  
    >>>1/2
    0.5
    >>>1.0/2.0
    0.5

    地板除

    从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

    >>>1//2
    0
    >>>1.0//2
    0
    >>>-1//2.0
    -1

    内建函数divmod()
    divmod (a,b),返回(a//b,a%b)

    >>>divmod(1,2)  
    (0,1)  
    >>>divmod(3.14159,1.5)  
    (2.0,0.4159000000000002)  
    >>>5+6j//3+2j
    2+0j
    >>>5+6j%3+2j
    -1+2j
    >>>divmod(5+6j,3+2j)  
    ((2+0j),(-1+2j))  
  • 相关阅读:
    MediaInfo代码阅读
    HEVC与VP9之间的对比
    x264阅读记录-3
    x264阅读记录-2
    x264阅读记录-1
    Linux脚本程序
    VS2015 ASP.NET5 Web项目结构浅析
    VS2015 Apache Cordova第一个Android和IOS应用
    VS2015 C#6.0 中的那些新特性
    aehyok.com的成长之路三——框架结构
  • 原文地址:https://www.cnblogs.com/hdk1993/p/4891277.html
Copyright © 2020-2023  润新知