美文网首页
02.除法--浮点数与整数相除

02.除法--浮点数与整数相除

作者: 31c83c38fa9a | 来源:发表于2018-07-27 20:12 被阅读0次

这个标题和上面的标题格式不一样,上面的标题是“整数除以整数”,如果按照风格一贯制的要求,本节标题应该是“浮点数除以整数”,但没有,现在是“浮点数与整数相除”,其含义是:

假设:x除以y。其中 x 可能是整数,也可能是浮点数;y可能是整数,也可能是浮点数。

出结论之前,还是先做实验:

>>> 9.0 / 2

4.5

>>> 9 / 2.0

4.5

>>> 9.0 / 2.0

4.5

>>> 8.0 / 2

4.0

>>> 8 / 2.0

4.0

>>> 8.0 / 2.0

4.0

归纳,得到规律:不管是被除数还是除数,只要有一个数是浮点数,结果就是浮点数。所以,如果相除的结果有余数,也不会像前面一样了,而是要返回一个浮点数,这就跟在数学上学习的结果一样了。

>>> 10.0 / 3

3.3333333333333335

这个是不是就有点搞怪了,按照数学知识,应该是3.33333...,后面是3的循环了。那么你的计算机就停不下来了,满屏都是3。为了避免这个,Python武断终结了循环,但是,可悲的是没有按照“四舍五入”的原则终止。当然,还会有更奇葩的出现:

>>> 0.1 + 0.2

0.30000000000000004

>>> 0.1 + 0.1 - 0.2

0.0

>>> 0.1 + 0.1 + 0.1 - 0.3

5.551115123125783e-17

>>> 0.1 + 0.1 + 0.1 - 0.2

0.10000000000000003

越来越糊涂了,为什么computer姑娘在计算这么简单的问题上,如此糊涂了呢?不是computer姑娘糊涂,她依然冰雪聪明。原因在于十进制和二进制的转换上,computer姑娘用的是二进制进行计算,上面的例子中,我们输入的是十进制,她就要把十进制的数转化为二进制,然后再计算。但是,在转化中,浮点数转化为二进制,就出问题了。

例如十进制的0.1,转化为二进制是:0.0001100110011001100110011001100110011001100110011...

相关文章

  • 02.除法--浮点数与整数相除

    这个标题和上面的标题格式不一样,上面的标题是“整数除以整数”,如果按照风格一贯制的要求,本节标题应该是“浮点数除以...

  • python笔记

    1 实现整除的操作符(即使用浮点数相除显示的结果依旧是整数)://【3.*版本】/变成了真实的除法,例如10/8,...

  • 辗转相除法——字符串处理

    辗转相除法 GCD:辗转相除法,求两个正整数的最大公约数。 gcd(m,n) = gcd(n,m mod n) [...

  • Python 3 中除法的应用:单斜杠/与双斜杠//

    Python3将单斜杠定义为浮点除法,对整数与浮点都一样。 Python3将双斜杠定义为整数除法,对整数与浮点数都...

  • Java程序基础--整数运算

    整数运算即使是除法运算,也是精确的,两个整数相除只能得到结果的整数部分。 求余运算用% 注意:整数的除法对于除数为...

  • 算法-辗转相除法

    算法:辗转相除法(欧几里得算法) GCD递归定理 辗转相除法算法概述 辗转相除法伪代码 辗转相除法代码实现 对于两...

  • 今天一些问题

    1. python 除法 Python 3.x在整数除法中,除法(/)总是返回一个浮点数,如果只想得到整数的结果,...

  • 3.5运算符

    当参与/运算的两个操作数都是整数时,表示为整数除法,否则表示为浮点数除法。 整数取余操作称之为取模 浮点数被0除灰...

  • 29. 两数相除

    29. 两数相除 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法...

  • python中的几种除法运算

    普通除法,结果是浮点数图1.png 即使两个整数恰好整除,结果也是浮点数图2.png // 地板除,两个整数的除法...

网友评论

      本文标题:02.除法--浮点数与整数相除

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