gpt4 book ai didi

python-3.x - Python 3整数除法。如何使数学运算符与C保持一致

转载 作者:行者123 更新时间:2023-12-03 12:38:27 24 4
gpt4 key购买 nike

我需要将很多公式从C移植到Python,反之亦然。确保过程中没有中断的最佳方法是什么?

我希望我的问题听起来不太笼统。我主要担心自动 int / int = float 转换。

最佳答案

您可以使用//运算符,它执行整数除法,但这与您对C的期望不完全相同:

引用here:

The // operator performs a quirky kind of integer division. When the result is positive, you can think of it as truncating (not rounding) to 0 decimal places, but be careful with that.

When integer-dividing negative numbers, the // operator rounds “up” to the nearest integer. Mathematically speaking, it’s rounding “down” since −6 is less than −5, but it could trip you up if you were expecting it to truncate to −5.



例如,Python中的 -11 // 2返回 -6,而C语言中的 -11 / 2返回 -5
我建议编写并彻底对“模拟” C行为的自定义整数除法函数进行单元测试。

我在上面链接的页面上也有 PEP 238的链接,其中包含一些有趣的除法背景以及从Python 2到3的更改。对于整数除法有一些建议,例如 divmod(x, y)[0]int(x/y)用于正数,也许您在那里会找到更多有用的东西。

关于python-3.x - Python 3整数除法。如何使数学运算符与C保持一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com