Python 中地板除法和浮点除法的区别

2024 年 8 月 29 日 | 4 分钟阅读

表达式的数据类型通常取决于其参数的类型。大多数运算符都遵循此要求;例如,将两个数字相加时,结果也必须是整数。由于这两种相互冲突的假设,在除法的情况下,这并不奏效。有时我们希望除法的结果是一个精确的浮点数,而其他时候我们想要一个向下取整的整数结果。

Python 中除法(/)的定义通常只考虑参数。例如,在 Python 2.7 中,20/7 被除以 2,因为两个参数都是整数。但是,由于参数是浮点数,20/7 的输出将是 2.85。

Python 中的除法运算符是 // 和 /。选择哪个取决于您想要的结果。单斜杠(/)运算符返回一个浮点值,称为浮点除法。

整数除法和浮点除法是 Python 中可用的两种除法。整数除法返回除法的地板值。由于整数值可以精确记录,因此在比较中使用它们是安全的。

另一方面,双斜杠 // 运算符返回一个地板值,特别是地板浮点值或整数值。

除法运算符能够将两个整数相除并返回商。

除法运算符有两种不同类型

Python 中的地板除法

在 Python 中使用 // 运算符进行地板除法时,返回的是商的地板值。这与会四舍五入所有数字的整数除法不同。它而是通过给出地板值来操作。

让我们看几个样本,看看它是如何实际工作的

关于这一点,一个有趣的观察是负数会发生什么

 -7.0 // 3

这在逻辑上是合理的。结果将被取地板,这意味着虽然我们可能期望它等于 -2.0(向下取整),但实际值是 -3.0。

Python 中的 // 运算符可用于执行地板除法,也称为整数除法。此操作会将第一个参数除以第二个参数,并通过四舍五入到最接近的整数来将结果转换为数学值。

在某些情况下,/ 运算符将同时输出浮点数和整数,给出不确定的结果。因此,如果您的程序依赖于整数,则使用 / 运算符可能需要额外的步骤来确保一致的输出。

实际上有一些额外的方法可以改变两个数之间的商,使其能够与您的软件正常工作。使用不同的方法可以给您更大的控制权,因为,例如,您不希望总是向下取整。

将地板值除以负数

当操作数为负数时,地板除法将返回小于或等于普通除法结果的最大整数。为了说明这如何工作,让我们使用与之前相同的操作数

输出

3.75
3
-4

Python 浮点除法

在 Python 中使用 / 运算符除以浮点值。除法运算符(/)返回浮点除法,它接受两个参数。浮点除法产生除法结果的浮点估计值。

输出

1.11112

“浮点除法”是指一直进行到浮点数容量的除法过程。换句话说,结果包含小数部分。Python / 运算符可用于除以浮点数。无论两个值是整数还是浮点数,此运算符始终将浮点数作为商返回。

/ 除法运算符除以浮点数并接受两个输入。一个简单的例子是 result = a/b。

下面的示例程序将使用 / 运算符将两个变量除以浮点数。

当需要整数或需要提供小于等于输入的最小整数时,通常使用地板除法运算符(//)。

如果两个组成部分都是整数,则输出将是整数。如果另一个操作数是浮点数,则结果将是浮点数。

// 运算符创建的行易于阅读。