问题标签 [floor-division]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

python - “a//b”和“int(a/b)”之间的区别

我知道a/b是浮点除法,a//b是 Python 中的地板除法。
可以看出,int(a/b)如果分子和分母都是正数,则结果与地板除法相同。但是在尝试-a//bint(-a/b)产生不同的结果。内部操作有哪些?

与等效的楼层划分有何不同int(a/b),即a//b

0 投票
0 回答
19 浏览

python-3.x - 为什么在大整数的情况下地板除法和正常除法不输出相同的结果

我的代码是:

a=99999999999999995 b=long(a/5) c=a//5 print(b,c)

输出为:2e+16 19999999999999999

为什么不同的答案以及如何得到相同的答案(在python3中)

0 投票
10 回答
5312 浏览

python - 为什么我的模运算符为 1 字节的输入返回双倍的块大小?

这里的想法是创建一个名为计算器的函数,该函数接受输入并将其与变量进行比较。将文件大小与块大小进行比较,如果有剩余,则将块大小加倍以适应使用情况。我的问题是,输入 1,我仍然得到 8192?然而,其他计算结果是正确的。我知道地板除法只产生一个整数,而不是一个浮点数(我认为这可能是一个更好的方法,因为我想要实数)但是当我尝试浮动它时,我得到了相同的回报。我也尝试过在其他地方浮动,结果与上述不正确或相同。当我颠倒模数的顺序时,答案似乎是正确的,但我被告知这是错误的,并被告知要更像您在此处看到的那样,按此顺序使用地板除法和模数。

所以我的问题是,为什么我得到输入为 1 的 8192,但其余的都是对的?

0 投票
2 回答
46 浏览

python - 运算符优先级在 % 和 // 之间如何工作?

o/p 为 0,但根据运算符优先级,它应该引发 ZeroDivisionError,因为它应该被解释为

导致错误

有人可以详细说明运算符优先级如何在这里工作吗?

0 投票
1 回答
331 浏览

python - 当除数和/或被除数是浮点数时,为什么 Python 地板除法会返回浮点数?

如果我理解正确,地板除法的返回值始终是整数,即使被除数和/或除数不是整数,那么为什么它不总是返回整数。

在我的情况下这是有害的,因为从大浮点数转换为 int 而不是将返回值作为任意精度整数显然会丢失精度。

我看不到任何执行浮点除法以返回整数的函数。显然,我可以创建一个函数来执行此操作,例如将两个值乘以相同的数量,使它们都是整数,但它会比 C 实现慢得多。

举个例子:5.2 // 2不是。2.02

0 投票
1 回答
51 浏览

python - 为什么地板除法返回一个浮点数而不是一个整数

谁能告诉为什么这个 2.0 而不是 2 的结果?9/2 = 4.5 4.5//2 应该是 2 bcos 地板除法四舍五入到最接近的整数值。但为什么结果是 2.0?

0 投票
2 回答
606 浏览

julia - Julia 中楼层除法的语法是什么?

在 Python 5//2 中是楼层划分。

在朱莉娅:

5//2

退货

5//2

如何在 Julia 中进行楼层划分?

0 投票
1 回答
234 浏览

python - What happens behind the scene of floor division in Python?

The Documentation about the floor division in Python says,

The / (division) and // (floor division) operators yield the quotient of their arguments. The numeric arguments are first converted to a common type. Division of integers yields a float, while floor division of integers results in an integer; the result is that of mathematical division with the ‘floor’ function applied to the result.

I'm focusing on the last line, that says,

the result is that of mathematical division with the ‘floor’ function applied to the result

I get a float in:

But an integer in:

So it's clearly not the math.floor function that Python floor division is using. I want to know what exact procedure is Python following to compute the floor division of two arguments.

Because when taking the floor division of complex numbers, Python says,

That means Python takes the division and then applies some sort of floor function. What really is it?

0 投票
1 回答
346 浏览

python - 楼层划分如何不根据记录的规则给出结果?

为什么在这种情况下楼层划分不按规则工作?

ps 这里 Python 处理0.2为case 所以 导致0.20000000001And outputing但 不知道为什么 python 处理为case而不是case?floor division(12/0.2000000001)59.999999...floor(59.999999999)590.20.2000000001floor divisiondivision

0 投票
1 回答
2346 浏览

python - Python 语法:n % 2 == 1 和 n //= 2

有人可以解释的语义

据我了解,检查除法的n % 2 == 1其余部分是否为。n21

怎么样n //= 2?这是楼层划分吗?但是呢?n除以2?