最近安装了x86_64的linux,并编译了php,于是要用简单的方法检测一下效果,看是否真的是64位系统
系统位数最直接体现在整数上,但是php是自动转化类型的,就是说如果php的整形溢出会自动转成浮点型,所以必须用强制类型来显示,或者用函数intval()
32位的系统最大的符合整数范围是-2147483648 到 2147483647,无符号数是0-4294967295,就是2的32次方-1,如果用32位有符号数作系统不超过22亿,而bill大叔交的税要超过这个数,所以美国税务部门普通电脑处理是会出错的
跑题了,64位系统有符号整数范围是-9223372036854775808 到 9223372036854775807
而无符号整数是0 到 2的64次方-1(18446744073709551616),这个数显然是非常大的,千亿亿级别,64位的优势体现在这里,可以处理超大整数运算,对于数据库意义重大!
开始写个简单代码吧
代码1
$a=2147483649; if((int)$a>0) echo '>=64位系统'; else echo '<=32位系统'; ?> |
代码2
$a=2147483649; if(intval($a)>0) echo '>=64位系统'; else echo '<=32位系统'; ?> |
阅读(5001) | 评论(1) | 转发(0) |