溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP和MySql中32位跟64位的整形范圍是多少

發(fā)布時間:2021-09-02 09:44:01 來源:億速云 閱讀:171 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“PHP和MySql中32位跟64位的整形范圍是多少”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

PHP和MySql中32位跟64位的整形范圍是多少

一個字節(jié)有8位,所以32位int型占用32位/8位=4個字節(jié),64位int型占用64位/8位=8個字節(jié).

32位,64位無符號整型最大值:

2^64-1 = 18446744073709551615

2^32-1 = 4294967295

32位,64位有符號整型最大值:

(2^32)/2-1 = 2147483647

(2^64)/2-1 = 9223372036854775807

減1是因為整型包括0.

64位Ubuntu 14.04,PHP_INT_MAX的值為9223372036854775807,跟MySQL中有符號的bigint型的最大值一樣.

32位Ubuntu 14.04,PHP_INT_MAX的值為2147483647,跟MySQL中有符號的int型的最大值一樣.

echo date('Y-m-d H:i:s', PHP_INT_MAX); 返回 2038-01-19 11:14:07

echo strtotime('2038-01-19 11:14:07'); 返回 2147483647

echo strtotime('2038-01-19 11:14:08'); 32位下返回空

也就是說,32位系統(tǒng)上PHP的time()最大只能返回2038-01-19 11:14:07的時間戳.

字段類型: `posted` int(10) unsigned NOT NULL DEFAULT '0'

32位MySQL上(64位MySQL也是如此),插入一個比32位無符號int型最大值 2^32-1 = 4294967295 更大的數(shù)會發(fā)生錯誤:

UPDATE `punbb`.`pb_topics` SET `posted` = '4294967296' WHERE `pb_topics`.`id` = 1;

Warning: #1264 Out of range value for column 'posted' at row 1

不過,MySQL可以用8個字節(jié)的bigint類型來存儲64位整數(shù).


數(shù)據(jù)類型


LP64


ILP64


LLP64


ILP32


LP32


char


8


8


8


8


8


short


16


16


16


16


16


_int32


N/A


32


N/A


N/A


N/A


int


32


64


32


32


16


long


64


64


32


32


32


long long


N/A


N/A


64


N/A


N/A


pointer


64


64


64


32


32

“PHP和MySql中32位跟64位的整形范圍是多少”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI