僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
一年近く前の記事と似ているような気もするが、まず、Squeeze。
$ uname -m i686 $ php --vesion PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) (built: Jun 28 2011 13:13:26) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH $ echo '<?php print 99999999999999 . "\n" ?>' | php 99999999999999 $ echo '<?php print 99999999999999 + 1 . "\n" ?>' | php 1.0E+14
2**46 と 2**47 の間に、何かがリミットをかけているように見える。
なんとなく切りが悪いというか、中途半端というか。
次いでLFS。
$ uname -m x86_64 $ php --version PHP 5.3.6 (cli) (built: Aug 3 2011 11:56:43) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies $ echo '<?php print 9223372036854775807 . "\n" ?>' | php 9223372036854775807 $ echo '<?php print 9223372036854775807 + 1 . "\n" ?>' | php 9.2233720368548E+18
2**63 - 1 まで整数になった。
こちらは、x86_64のSqueezeでも同様。
$ echo '<?php print 3 and 7 ; print "\n" ?>' | php 3 $ echo '<?php print (3 and 7) ; print "\n" ?>' | php 1
前者は、3 を評価して、それを返す(andの後ろが何であっても同様)。
後者は、えーと、論理積の評価結果が真偽値判定される。らしい
(1か無かのどちらかになった)。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。