数码资讯
MySQL执行时间负数的原因分析
复制代码代码如下所示: < PHP 列表(USEC美元美元,SEC)=爆炸('',瞬时()); $定时器=(浮动)$ USEC +(浮动)$秒; mysql_query($查询,active_db美元); 列表(USEC美元美元,SEC)=爆炸('',瞬时()); 为阻止=(浮动)$ USEC +(
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
复制代码代码如下所示:
< PHP
列表(USEC美元美元,SEC)=爆炸('',瞬时());
$定时器=(浮动)$ USEC +(浮动)$秒;
mysql_query($查询,active_db美元);
列表(USEC美元美元,SEC)=爆炸('',瞬时());
为阻止=(浮动)$ USEC +(浮动)$秒;
$ = $停止-计时器;
>
$和计时器是转换后得到的所有浮点数。在大多数情况下,回波停止和回波计时器获得的结果与裸眼相同,但它们在计算机中的存储是不一样的,所以结果不是0或负。
PHP手册建议:
浮点数精度:
很显然,一个简单的小数,如0.1或0.7,不能转换成一个内部二进制格式而不会丢失一点精度,这将造成混乱:例如,(0.1 + 0.7)* 10通常返回7,而不是8,因为结果的内部表示类似于7.9999999999。
这与一个事实,即不可能准确地表示有限小数位数的小数部分。例如,十进制1 3变成0 3333333…
所以千万不要相信浮点数的结果是精确到最后的,永远不要比较两个浮点数是否相等,如果你需要更高的精度,你应该使用任何精确的数学函数或GMP函数。
< PHP
列表(USEC美元美元,SEC)=爆炸('',瞬时());
$定时器=(浮动)$ USEC +(浮动)$秒;
mysql_query($查询,active_db美元);
列表(USEC美元美元,SEC)=爆炸('',瞬时());
为阻止=(浮动)$ USEC +(浮动)$秒;
$ = $停止-计时器;
>
$和计时器是转换后得到的所有浮点数。在大多数情况下,回波停止和回波计时器获得的结果与裸眼相同,但它们在计算机中的存储是不一样的,所以结果不是0或负。
PHP手册建议:
浮点数精度:
很显然,一个简单的小数,如0.1或0.7,不能转换成一个内部二进制格式而不会丢失一点精度,这将造成混乱:例如,(0.1 + 0.7)* 10通常返回7,而不是8,因为结果的内部表示类似于7.9999999999。
这与一个事实,即不可能准确地表示有限小数位数的小数部分。例如,十进制1 3变成0 3333333…
所以千万不要相信浮点数的结果是精确到最后的,永远不要比较两个浮点数是否相等,如果你需要更高的精度,你应该使用任何精确的数学函数或GMP函数。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。