美文网首页
Python学习笔记(八)—Python和Java(C/C++)

Python学习笔记(八)—Python和Java(C/C++)

作者: Shawpoo的 | 来源:发表于2017-10-29 18:13 被阅读12次

    转载请注明出处:http://www.jianshu.com/p/7a3d3d86b97f
    本文出自Shawpoo的简书
    我的博客:CSDN博客

    【Python学习笔记专栏】:http://blog.csdn.net/column/details/17658.html

    举例

    我们都知道在数学中除法计算是这样的:

    被除数(a) ÷ 除数(b) = 商(q)……余数(r)

    由上述公式可以得出:

    被除数 = 商 * 除数 + 余数,即:a = b * q + r

    有了公式之后,我们可以得出结果:如:

    10 ÷ 3 = 3……1
    10 ÷ (-3) = -3……1
    10 ÷ (-3) = -4……-2
    -10 ÷ 3 = -3……-1
    -10 ÷ 3 = -4……2
    -10 ÷ (-3) = 3……-1

    我们上述这些计算都符合a = b * q + r,那么例如这种a ÷ (-b)或者-b ÷ a有两种结果的情况下,我们该取哪个值呢?

    编程中的除法

    编程中的除法分为三种:

    • 向上取整:即在所有计算的结果中,取最接近+∞的那个值为最终的商。如10 ÷ (-3) = -3……1而不是10 ÷ (-3) = -4……-2。

    • 向下取整:同理,在所有计算的结果中,取最接近-∞的那个值为最终的商。如-10 ÷ 3 = -4……2而不是-10 ÷ 3 = -3……-1。

    • 向零取整:即,在所有计算的结果中,取最接近0的那个值为最终的商。

    经过推理运算和查阅书籍发现:

    Java、C/C++遵循的取整方式为:向零取整
    Python遵循的取整方式为:向下取整

    所以:

    • Java(C/C++)
    整除 取模(求余)
    10 / 3 = 3 10 % 3 = 1
    10 / -3 = -3 10 % -3 = 1
    -10 / 3 = -3 -10 % 3 = -1
    -10 / -3 = 3 -10 % -3 = -1
    • Python
    整除 取模(求余)
    10 // 3 = 3 10 % 3 = 1
    10 // -3 = -4 10 % -3 = -2
    -10 // 3 = -4 -10 % 3 = 2
    -10 // -3 = 3 -10 % -3 = -1

    相关文章

      网友评论

          本文标题:Python学习笔记(八)—Python和Java(C/C++)

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