技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 查看专题: 浮点数
    浮点数的存储格式与整数完全不同。大部分的实现采用的是IEEE 754标准,float类型,是1个sign bit,8 exponent bits,23 mantissa bits。而double类型,是1个sign bit,11 exponent bits,52 mantissa bits。至于浮点如何去表示小数,请自行搜索google。由于float使用的小数表示方法,导致浮点数值是有精度限制的。 有限的精度就引发了浮点数值使用时的两个陷阱。
    PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): ....... 今天的话题, 我们只关注其中的俩个成员, lval和dval, 我们要意识到, long lval是随着编译器, OS的字长不同而不定长的, 它有可能是32bits或者64bits, 而double dval由IEEE 745规定, 是定长的, 一定是64bits. 请记住这一点, 造就了PHP的一些代码的\"非平台无...
    有时需要在JSON中使用浮点数,比如价格、坐标等信息。但python中的浮点数相当不准确。
    浮点数的二进制表示
[ 共4篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1