我有这个片段与奇怪的结果解压奇怪的行为(279.1 ...对... 279.6):的Perl上的浮点值
$ perl -e "print unpack('f>', pack ('f>', 279.117156982422));"
279.617156982422
虽然这一个工程
$ perl -e "print unpack('f>', pack ('f>', 279.117256982422));"
279.117248535156
而这些领域,以及
$ perl -e "print unpack('f<', pack ('f<', 279.117156982422));"
279.11715698242
$ perl -e "print unpack('f', pack ('f', 279.117156982422));"
279.117156982422
有什么不对?这是解开非本地排序浮点值的错误吗?
注意Perl是PC上的Cygwin下的版本5.14.2。
前两种情况是使用不同版本的Perl还是不同的操作系统运行? –
第一种情况下'pack'的结果是什么(我的意思是,什么是字节码)? – raina77ow
用5.14.2(在Win7x64上的Cygwin上)重现。好奇。您可能发现了一个错误。请注意,'print unpack('H8',pack('f>',279.117156982422))'获取位返回'438b8eff',这是根据[this site](http:// babbage。 cs.qc.cuny.edu/IEEE-754.old/Decimal.html) –