自己紹介

太田一樹。
東京の大学の情報科学科に通う大学生。moratorium満喫中。

お勧め書籍 [全部見る]

飾り

Search


Category Archives

Recent Entries

  1. 論文
  2. JJUG CCCでプレゼンします
  3. kzk's bookshelf
  4. En Google by Gulfweed
  5. PNUTS
  6. コメントスパム対策
  7. Hadoop + Luceneで分散インデクシング
  8. Hadoopの解析資料
  9. Cluster 2008
  10. SWoPP 2008

2008年03月26日

PHP higixi

んー、PHPの数字表現ぜんぜん知らんけど是は良いのだろうか。

pficore% cat hoge.php
<?php
$m  = 0xf0000000;
$v1 = 0x80000000;
$v2 = 0x80000000;
echo ($v1 & $m) . "\n";
echo ($v2) . "\n";
?>

PHP 5.2.3 on i686

[kzk@pfi php]# php -v
PHP 5.2.3 (cli) (built: Jun 18 2007 19:07:30)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
[kzk@pfi php]# php hoge.php
-2147483648
2147483648

PHP 5.2.1 on x86_64

pficore% php -v
PHP 5.2.1 (cli) (built: Nov 28 2007 23:22:01)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
pficore% php hoge.php
2147483648
2147483648

ええぇ

整数のサイズはプラットフォームに依存しますが、 約 20 億 (32 ビット符号付) が一般的な値です。 PHP は符号無し整数をサポートしていません。 整数のサイズは PHP_INT_SIZE で決まります。

まじで。PHP_INT_SIZEは上の環境が4, 下の環境が8でした。INTのサイズが違うっていう発想が無かったわ。PHP初心者丸出し。

32bit環境で符号無し32bit値について安全に&演算を行える方法を誰か教えて下さい!そもそもPHPでするなという話は有るが・・・。


trackbacks

trackbackURL:

comments

comment form
comment form