龙空技术网

Python中整数和浮点数

时家匠 134

前言:

眼前我们对“python中的取余”都比较看重,各位老铁们都想要分析一些“python中的取余”的相关资讯。那么小编在网上汇集了一些有关“python中的取余””的相关内容,希望同学们能喜欢,朋友们快快来学习一下吧!

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。

基本的运算:

使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层:

和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数,请看下图:

但是整数和浮点数混合运算的结果就变成浮点数了:

为什么要区分整数运算和浮点数运算呢?这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数。

那整数的除法运算遇到除不尽的时候,结果难道不是浮点数吗?我们来试一下:

对于上述的结果,一是注意python2.6和python3的区别,在就是向上取整和向下取整(后面都会讲到)

解释:

在Python 2.6中,'/'执行传统除法,如果操作数都是整数的话,执行截断的整数除法(即对于结果只保留整数部分),否则,执行浮点除法(保留余数);'//'执行Floor除法,与Python3.0一样,对于整数执行截断除法,浮点数执行浮点除法。在Python 3.0中,'/'总是执行真除法,不管操作数的类型,都会返回包含任何余数的浮点结果;'//'执行Floor除法,截除掉余数并且针对整数操作数返回一个整数,如果有任何一个操作数是浮点数,则返回一个浮点数。

Python提供了一个求余的运算 % 可以计算余数:

如果我们要计算 11 / 4 的精确结果,按照"整数和浮点数混合运算的结果是浮点数"的法则,把两个数中的一个变成浮点数再运算就没问题了:

试一试:

请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ?

请修复上述运算,使得计算结果是 5.0

标签: #python中的取余 #python除法结果均为浮点型 #python除法得到浮点数 #c语言整数和浮点数运算的结果 #整数和浮点数混合运算输出结果是