PHP和MySql中32位和64位的整形范围是多少
一个字节有8位,所以32位int型占用32位/8位=4个字节,64位int型占用64位/8位=8个字节.
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位系统上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 更大的数会发生错误:
UPDATE `punbb`.`pb_ics` SET `posted` = '4294967296' WHERE `pb_ics`.`id` = 1;
Warning: #1264 Out of range value for column 'posted' at row 1
不过,MySQL可以用8个字节的bigint类型来存储64位整数.
数据类型 |
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 |
以上内容是长沙网络推广给大家介绍的32位和64位的整形范围,希望对大家有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程