php ieee754数据,PHP实际上是否使用IEEE-754浮点数?

这篇博客讨论了IEEE-754浮点标准在PHP中的实现,指出PHP中NaN和NaN之间的比较会产生多个关系,与一些语言中无序比较的行为不同。在PHP中,NaN不等于自身,导致NaN<NaN和NaN>NaN都为真,这可能与传统的无序比较理解相悖。博客还展示了PHP环境的版本信息。
摘要由CSDN通过智能技术生成

IEEE-754浮点标准说:

Four mutually exclusive relations are possible: less than, equal, greater than, and unordered. The last case arises when at least one operand is NaN. Every NaN shall compare unordered with everything, including itself.

echo phpversion() . " " . zend_version() . " " . php_uname() . "\n";

// 5.2.5 2.2.0 Linux 2cf38fbc9b9e 3.11.0-15-generic #25-Ubuntu SMP

// Thu Jan 30 17:22:01 UTC 2014 x86_64

NAN < NAN; // true

NAN > NAN; // true

INF < INF; // true

INF > INF; // true

很明显,NAN和NAN之间以及INF和INF之间存在多个关系,而应该只有一个.在许多(大多数?全部?)语言中,IEEE-754浮点数“无序”意味着NaN< NaN是假的,并且NaN> NaN为假,NaN == NaN为假.这是否证明PHP不使用IEEE-754浮点数?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值