关于php中intval在32和64位的问题
2013-03-25 21:18
267 查看
php的int行在32位的系统上是4Byte,在64位上是8Byte,导致在超过4Byte的整数,在32和64返回的结果不同,现在写一个统一的函数,统一用32位的算法
function intval32($num) { $num = $num & 0xffffffff;//消掉高32位 $p = $num>>31; //取第一位 判断是正数还是负数 if($p==1) { //负数 $num = $num-1; $num = ~$num; //取反 会当成64位取反,算出来的数就去了,所以取反之后 要消掉 高32位 $num = $num & 0xffffffff; return $num * -1; } else { return $num; } }
相关文章推荐
- 关于异常的疑难解答:System.BadImageFormatException (32 位上编译的.net程序,在64位上跑的时候,经常碰到的问题)
- Eucalyptus 中32位与64位说明-关于在32/64位NC中的虚拟机中运行64 /32位 Instance的问题
- 关于Java调用32/64位dll的问题
- 关于微信支付退款接口问题 PHP版
- 关于PHP递归返回值的问题探讨
- 关于Visual Studio 2010与64位系统的问题
- 关于启动wampserver出现的php.exe 无法启动此程序问题的解决
- 关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7
- 关于在php中html标签的转换问题的解决,转义与反转义
- PHP关于VC9和VC6以及Thread Safe和Non Thread Safe版本选择的问题
- 关于PHP 时区错误的问题
- 关于PHP浮点数精度损失问题
- 关于百川趣拍64位的问题
- PHP关于syntax error语法错误的问题(Parse error: syntax error, unexpected end of file in xxxxxxxx)
- 关于PHP错误日志不记录的问题
- fedro1 16 64位使用apache+php+oci8+oracle instantclient开发遇到的中文乱码问题;
- php magento关于图片路径引用问题
- 关于SAE本地环境中config.yaml的rewrite问题 php相关
- 关于微店整合微信支付时出现的的各种问题的记录 php版
- 关于局域网电脑通过IP地址访问虚拟主机上的PHP WEB服务的问题