php 中的整数除法
2022-08-30 18:02:41
我正在寻找在php中进行整数除法的最快方法。例如,5 / 2应该是2,6 / 2应该是3,依此类推。如果我只是这样做,php将在第一种情况下返回2.5,我能找到的唯一解决方案是使用 - 这并不像我想要的那么快(但给出了预期的结果)。intval($my_number/2)
我该怎么做?
编辑:
感谢你们所有人的想法,我使用rubber_boots发布的脚本来测试其中一些10000000次迭代,在这里你可以看到结果(MAMP在3或4年的MacBook上,带有2Ghz Intel Core 2 duo):
start (10000000)
(int)...: 2.26 sec
floor(): 4.36 sec
int_divide(): 2.86 sec
bit-shift: 1.45 sec //note: only works for divisions through powers of 2
intval(): 4.51 sec
round() with PHP_ROUND_HALF_DOWN: 5.48 sec
到目前为止,位移是最快的方法,但我会把这个问题留出一天,看看是否有其他可能性......
EDIT2:
更新了结果,添加了带有PHP_ROUND_HALF_DOWN的round()(感谢Col._Shrapnel)