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_topics` SET `posted` = '4294967296' WHERE `pb_topics`.`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位的整形范围,希望对大家有所帮助。

(0)

相关推荐

  • C#中实现在32位、64位系统下自动切换不同的SQLite dll文件

    直接上代码: using System; using System.Collections.Generic; using System.Windows.Forms; using System.Management; using System.IO; namespace SqliteAuto { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main

  • VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法

    通常用VB 写的程序在32位系统上可以正常的运行,但到了64位系统中虽然可以运行但是无法修改OEM信息.经过查找原因可以发现,当我们在访问文件夹"SYSTEM32"的时候系统会自动转向到文件夹"SYSWOW64"下,当我们在访问某些注册表键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面. 先来谈谈文件系统的转向,查找了一些资料,并没有VB相关的资料,但是可以查到2个相关函数:Wow64DisableWow64FsRedirect

  • 在双硬盘上安装独立32位和64位双系统

    现在的64位操作系统还没有中文版,加之受兼容性问题的影响,组建独立多系统显然已成为最佳的解决方案.很多朋友在配置64位硬件平台时已购入了SATA硬盘,但同时拥有SATA和PATA硬盘的朋友也不在少数,下面就来说明怎样在这两块硬盘上构建32位和64位Windows XP的独立双系统. 一.设置SATA硬盘 说明:本次用于试验的硬盘为: PATA接口的希捷40GB和SATA接口的希捷80GB硬盘各一块.怎样设置SATA硬盘,由主板决定,本文以硕泰克SL-K8AV2-R1L主板上的设置方法为例.各位朋

  • Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

    原来使用Win7的32位系统,进行C#工程的开发,后来重装系统,换成了win7的64位系统 调试原来的工程,由于在其中引用了"SQLite"的32位的dll,导致在64为位下程序无法运行(但是编译可以通过) 后来通过修改工程文件(.csproj),在其中设置引用的条件,解决了问题 打开引用了SQLite的工程(例如叫做info)的工程文件(info.csproj),找到对SQLite引用的语句,类似如下的代码 复制代码 代码如下: <Reference Include="

  • 安装SQL server 2005 出现警告 32位ASP.NET已经注册,需要注册64位的解决方法

    可以运行以下两条命令: 1.将64位.net注册到iis上. cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 和 C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i 2.注册32位.net: 不需要卸载32位,注册命令就是上面的命令.系统默认安装的是64位系统,但是由于客户程序大部分都是

  • 阿里云主机Windows 2008 32位 64位自助正版激活图文教程

    Windows2008 32位.64位 中文版操作系统,自助激活Windows正版,远程登录服务器后: 1.开始--运行 2.在运行里面输入cmd. 系统会跳出如下窗口: 3.输入slmgr   -skms   kms.aliyun-inc.com 4.输入slmgr -ato 5.完成

  • 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的值为92233720368547

  • 判断Unix系统及库文件是32位还是64位的详解

    判断Unix系统及库文件是32位还是64位的详解 一.查看系统32还是64位系统 bootinfo -y    查看硬件位数 bootinfo -K   查看内核位数 二.查看库文件是32位还是64位 1.使用file命令 Linux: # file libnss1_files-2.2.4.so libnss1_files-2.2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped # file lib

  • MySQL下载和安装 win10 64位 MySQL8.0的教程图解

    怎么从mysql从官网下载到安装到客户端的登陆呢?这篇文章给你讲的清清楚楚. 第一步:到Mysql官网下载. 从[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/)找到需要的win10 64位mysql 点击download,会跳到到下载页面,如下.以前是直接就是用浏览器默认下载器下载了,现在oracle想拥有更的用户,就希望用户登陆之再下载,但仍旧留有免登陆直接下载的入口,就在下图红框位

  • python分别打包出32位和64位应用程序

    由于我们分发的python应用可能运行在64位环境,也可能运行在32位环境,所以我们需要为同一套应用代码配置两套打包环境,怎么配置? 步骤如下 1,在电脑上分别下载安装32位和64位的python,安装过程中选择"add python to path" 2,在pycharm打开项目代码,依次打开"File->Settings->Project Interpreter->选择右侧的Project Interpreter:文本框中的"show all&

  • python判断windows系统是32位还是64位的方法

    本文实例讲述了python判断windows系统是32位还是64位的方法.分享给大家供大家参考.具体分析如下: 通常64的windows系统program files文件夹(用来安装应用程序的默认的默认的目录),有2个,一个是program files另外一个是program files(x86), 而32bit的只有program files这一个文件夹. 根据上面这一特点,我们就可以判断windows系统是32还是64位的. import os prg = 'C:Program Files(

  • C#判断系统是32位还是64位的方法

    本文实例讲述了C#判断系统是32位还是64位的方法.分享给大家供大家参考.具体如下: public static int GetOSBit() { try { string addressWidth = String.Empty; ConnectionOptions mConnOption = new ConnectionOptions(); ManagementScope mMs = new ManagementScope(@"\\localhost", mConnOption);

  • 查看Linux系统是32位还是64位的方法总结

    方法1:getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, 64位Linux系统显示64.最简单.快捷的方法. [root@DB-Server ~]# getconf LONG_BIT 32 [root@gettestlnx01 ~]# getconf LONG_BIT 64  方法2:uname命令查看 如下例子所示,x86_64表示64位系统, i686 i386表示32位系统.i686 只是i386的一个子集,支持的cpu从Pentium 2 (686)

  • Python 启动时选择32位 或64位版的操作

    windows下如果同时安装了python 32 位版本和64位版本, 如何简便地启动指定的版本? # 启动python 3 32位版本 py -3-32 # 启动python 3 64位版本 py -3-64 # 启动python 2.7 32位版本 py -2.7-32 # 启动python 2 64位版本 py -2.7-64 补充:Python3在win10 64位+PyCharm下打包兼容32位和64位wins的exe可执行文件 前置条件 python3+ 32 位:注意:原来有 64

  • C#判断DLL文件是32位还是64位的示例代码

    c#判断dll文件是32位还是64位,实例代码如下所示: using System; using System.IO; namespace GetDllVersionDemo { /// <summary> /// https://www.cnblogs.com/LifeDecidesHappiness/p/15711169.html /// C#判断DLL文件是32位还是64位 /// LDH @ 2021-12-20 /// </summary> internal class

随机推荐