我需要从C到Python移植相当多的公式,反之亦然.确保在此过程中没有任何中断的最佳方法是什么?
我希望我的问题听起来不太一般.我主要担心自动int/int = float转换.
sch*_*der 32
您可以使用//
运算符,它执行整数除法,但它不是您对C的期望:
从这里引用:
//运算符执行奇怪的整数除法.当结果为正时,您可以将其视为截断(不舍入)到0位小数,但要小心.
当整数除数为负数时,//运算符将"向上"舍入为最接近的整数.从数学的角度来说,它是向下"舍入",因为-6小于-5,但如果你期望它截断到-5,它可能会让你失望.
例如,-11 // 2
在Python返回时-6
,-11 / 2
C中的返回值-5
.我建议编写并彻底单元测试一个"模拟"C行为的自定义整数除法函数.
我上面链接的页面也有一个指向PEP 238的链接,它有一些关于除法的有趣背景信息以及从Python 2到3的变化.有一些关于什么用于整数除法的建议,比如divmod(x, y)[0]
和int(x/y)
正数,也许你'我会在那里找到更多有用的东西.
归档时间: |
|
查看次数: |
17016 次 |
最近记录: |