Home > Archives > 2008-03
2008-03
卒業
- 2008-03-29 (Sat)
- IS

先日東京大学理学部情報科学科を卒業しました。
理学部学修奨励賞なるものも頂いて、ほんと有り難い限りです。
引き続き、東京大学大学院情報理工学系研究科コンピューター科学専攻に進学します(名前長杉)。
駒場時代は無事に卒業出来るとは思ってなかったので、良かった良かった。
不真面目な僕を助けてくれた同期の皆様、ありがとう(ぺこり
- Comments: 1
- Trackbacks: 0
PHP higixi
- 2008-03-26 (Wed)
- Uncategorized

んー、PHPの数字表現ぜんぜん知らんけど是は良いのだろうか。
pficore% cat hoge.php <?php $m = 0xf0000000; $v1 = 0x80000000; $v2 = 0x80000000; echo ($v1 &amp; $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でするなという話は有るが・・・。
- Comments: 0
- Trackbacks: 0
PHP higixi
- 2008-03-16 (Sun)
- Uncategorized

誰かこのPHPの挙動を説明してください・・・。ThriftのPHPライブラリが動かなかったので見つけた。
- 参考: unpack
- 追記: バグらしい thanks to mizunonさん
サンプルコード
pficore% cat hoge.php
<?php
$v1 = 132;
$d = pack("N", $v1);
$v2 = unpack("N", $d);
print_r($v2);
$unpacked = unpack('nhigh/nlow', $d);
$v2 = ($unpacked['high'] << 16) + $unpacked['low'];
print_r($v2)
?>
PHP v5.2.1
pficore% php --version 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 Array ( [1] => -2147483516 ) 132
PHP v4.3.9
[web at pfiweb1 ~]$ php --version PHP 4.3.9 (cgi) (built: May 10 2007 05:09:26) Copyright (c) 1997-2004 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies [web at pfiweb1 ~]$ php hoge.php Array ( [1] => 132 ) 132
- Comments: 2
- Trackbacks: 0
Home > Archives > 2008-03
-
- May 2010
- February 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
