9223372036854775807
Template:NoteTA Template:整数 9,223,372,036,854,775,807相当于,尽管可以写成的形式,但这个数字并不是梅森質数。
在计算机科学中
数字9223372036854775807写成十六进制是Template:Nowrap,这是计算机运算中最大的64位整数[1]。对于现代计算机上所运行的许多编程语言而言,这个数字也是长整型(long,long int,long long int或bigint)变量所能赋的最大值。在运行程序时出现该数字一般代表出现错误,例如条件溢出或数值丢失等。在一些游戏中,一些数字的最大值(例如伤害)会由于64位整数的限制而成为9223372036854775807,例如崩坏学园2的922京伤害。[2]
此数字同时也是64位处理器采取带符号扩展内存寻址(x86-64架构称此为扩展标准型寻址)所能使用的最大正符号地址。由于该数字是一个奇数,因此出现该数字往往意味着内存地址的错误偏离。在调试模式下此数字还被用作未分配内存空间的默认初始化值。
在Unix等操作系统所使用的C标准库中,头文件Time.h定义了数据类型time_t,该类型通常由32位或64位带符号整型实现,主要用于记录自Unix纪元1970年1月1日0时0分0秒(UTC)到目前为止的秒数。采用32位time_t的系统会出现所谓2038年问题,因此很多新的程序实现都选择迁移到64位版本,此版本的time_t最大的取值就是9223372036854775807(2Template:Sup − 1),足够记录到2900亿年后的292277026596年12月4日15时30分08秒(UTC)。
其它系统采用64位带符号整型记录自某个纪元到目前为止的滴答数(tick),一些系统(如Java标准库)约定1次滴答等于1毫秒,这样约定的时间系统可以使用到大约2.92亿年后;另一些系统(如Win32)约定1次滴答等于100纳秒,此系统所能覆盖的时间范围是纪元前后29227年。
PayPal系统错误
2013年7月PayPal因系统错误而从用户Chris Reynolds的账号上扣除了92233万亿美元(具体扣除的金额是92,233,720,368,547,940.25美元,比2Template:Sup − 1美分多出了182.18美元,扣除后账户余额为-92,233,720,368,547,800.00美元;相比之下,2012年美国全国的GDP总额“只有”16.24万亿美元[3])。PayPal后来更正了这一错误,并承诺将向Chris Reynolds指定的慈善团体提供一份捐助[4]。
相关条目
参考资料
- ↑ 64位整数(Template:Lang-en)是计算机科学中的一种数据类型,即是Pascal的
int64、C的long、以及C++的long long类型,由64个比特组成,能够表达-9223372036854775808到9223372036854775807之间(即到之间)的任意整数。和其他整数类型一样,最高位的比特表示正负,最高位为1时该数为负数,最高位为0时该数为正数(或0)。 - ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web