《PHP應(yīng)用:PHP和MySql中32位和64位的整形范圍是多少》要點:
本文介紹了PHP應(yīng)用:PHP和MySql中32位和64位的整形范圍是多少,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP學(xué)習(xí)
一個字節(jié)有8位,所以32位int型占用32位/8位=4個字節(jié),64位int型占用64位/8位=8個字節(jié).PHP學(xué)習(xí)
32位,64位無符號整型最大值:PHP學(xué)習(xí)
2^64-1 = 18446744073709551615PHP學(xué)習(xí)
2^32-1 = 4294967295PHP學(xué)習(xí)
32位,64位有符號整型最大值:PHP學(xué)習(xí)
(2^32)/2-1 = 2147483647PHP學(xué)習(xí)
(2^64)/2-1 = 9223372036854775807PHP學(xué)習(xí)
減1是因為整型包括0.PHP學(xué)習(xí)
64位Ubuntu 14.04,PHP_INT_MAX的值為9223372036854775807,跟MySQL中有符號的bigint型的最大值一樣.PHP學(xué)習(xí)
32位Ubuntu 14.04,PHP_INT_MAX的值為2147483647,跟MySQL中有符號的int型的最大值一樣.PHP學(xué)習(xí)
echo date('Y-m-d H:i:s', PHP_INT_MAX); 返回 2038-01-19 11:14:07PHP學(xué)習(xí)
echo strtotime('2038-01-19 11:14:07'); 返回 2147483647PHP學(xué)習(xí)
echo strtotime('2038-01-19 11:14:08'); 32位下返回空PHP學(xué)習(xí)
也就是說,32位系統(tǒng)上PHP的time()最大只能返回2038-01-19 11:14:07的時間戳.PHP學(xué)習(xí)
字段類型: `posted` int(10) unsigned NOT NULL DEFAULT '0'PHP學(xué)習(xí)
32位MySQL上(64位MySQL也是如此),插入一個比32位無符號int型最大值 2^32-1 = 4294967295 更大的數(shù)會發(fā)生錯誤:PHP學(xué)習(xí)
UPDATE `punbb`.`pb_topics` SET `posted` = '4294967296' WHERE `pb_topics`.`id` = 1;PHP學(xué)習(xí)
Warning: #1264 Out of range value for column 'posted' at row 1PHP學(xué)習(xí)
不過,MySQL可以用8個字節(jié)的bigint類型來存儲64位整數(shù).PHP學(xué)習(xí)
以上內(nèi)容是小編給大家介紹的32位和64位的整形范圍,希望對大家有所贊助.PHP學(xué)習(xí)
歡迎參與《PHP應(yīng)用:PHP和MySql中32位和64位的整形范圍是多少》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/7534.html