首页 > Web开发 > 详细

PHP浮点数运算

时间:2021-06-04 12:19:05      阅读:16      评论:0      收藏:0      [点我收藏+]

PHP浮点数运算

    你看似有穷的小数, 在计算机的二进制表示里却是无穷的。

    1、浮点数运算出现的问题

 1 <?php
 2 
 3 //
 4 $a = 0.1;
 5 $b = 0.7;
 6 $c = intval(($a + $b) * 10);
 7 echo $c."<br>";
 8 // 输出:7
 9 
10 // 减
11 $a = 100;
12 $b = 99.98;
13 $c = $a - $b;
14 echo $c."<br>";
15 // 输出:0.019999999999996
16 
17 // 乘
18 $a = 0.58;
19 $b = 100;
20 $c = intval($a * $b);
21 echo $c."<br>";
22 //输出:57
23 
24 // 除
25 $a = 0.7;
26 $b = 0.1;
27 $c = intval($a / $b);
28 echo $c."<br>";
29 // 输出:6

    上面计算的结果显然不符合我们的预期,要搞明白其中的原因, 首先我们要知道浮点数的表示(IEEE 754)。

   2、 IEEE754标准

   IEEE754是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式。
   我们现在在用的计算机基本上都是基于这个标准来表示浮点数的,包括我们熟悉的短浮点数(float)、长浮点数(double),它们俩的表示方法相同,区别仅仅是阶码E和位数M的位数不同。

   浮点数IEEE 754的标准形式:

    技术分享图片
 3、任意精度数学函数


 4、浮点数与定点数

PHP浮点数运算

原文:https://www.cnblogs.com/hld123/p/14848530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!