为什么这个div结果在php中是不同的
当我计算一个大数字的基数时,我发现了一些错误,intval($a/64)的结果大于intdiv($a,64),你能告诉我为什么吗?也许你也会写下深刻的原因,非常感谢。基于 intval通过截断小数将双精度转换为整数 数字的组成部分 在处理某些值时,这可能会产生奇怪的结果 这就是为什么您在第一个代码中得到为什么这个div结果在php中是不同的,php,Php,当我计算一个大数字的基数时,我发现了一些错误,intval($a/64)的结果大于intdiv($a,64),你能告诉我为什么吗?也许你也会写下深刻的原因,非常感谢。基于 intval通过截断小数将双精度转换为整数 数字的组成部分 在处理某些值时,这可能会产生奇怪的结果 这就是为什么您在第一个代码中得到…638 基于 返回被除数除以除数的整数商 这就是为什么在第二个代码中会得到…637。由于它只返回整数部分。如果您希望将精度计算为可变量并确保计算正确,则不应使用有问题的函数 对于此类计算,您需要
…638
基于
返回被除数除以除数的整数商
这就是为什么在第二个代码中会得到
…637
。由于它只返回整数部分。如果您希望将精度计算为可变量并确保计算正确,则不应使用有问题的函数
对于此类计算,您需要使用PHP的BCMath:
$a = 116278458266472831;
echo intval($a/64); // 1816850910413638
echo intdiv($a, 64); //1816850910413637