★我要吧★

 找回密码
 注册[Register]
搜索
qq空间相册密码查看为什么登陆后需要激活无法注册?

[分享] 告诉你为什么qq服务只到2038年

[复制链接]
头像被屏蔽
发表于 2009-8-2 23:03:39 | 显示全部楼层 |阅读模式
大家现在一直好奇TX的增值业务最高可以充到什么时候?有很多QQ发烧友也测试出结果,甚至不惜血本预付费了几十年的业务。结论是:确实到2038年后数字就不会发生变化,总之是不显示2038之后的日期。为什么么会这样呢?看完本文你就会明白了,至少简单明白了一些。  
8 Y9 f# x' O8 G  f3 r      “千年虫”解决之后,会不会有新的“虫”出现?回答是肯定的,“2038年”就是一个新的关卡。 5 R: m/ b" ]/ o" e
   . B( ]! W: q. v3 E9 l1 {" P/ {
  网络时代,机会与危机共存,这也许是你我必须面对和必须付出的代价。“千年虫”解决之后,会不会有新的“虫”出现?回答是肯定的,“2038年”就是一个新的关卡。 8 U1 u* u1 D0 f0 M7 E' I: {2 N
  
/ C0 s8 b2 q7 M! O8 q: v$ e6 }  也许大家都已经知道计算机的2000年问题是什么概念,但是什么时候又冒出来一个2038年问题的呢? + d8 }: Z, Y: S% \1 E' |8 G! a9 @
  
9 T$ ?: y( [& ?  E8 C% Q  用C语言编制的程序不会碰到2000年问题,但是会有2038年问题。这是因为,大多数C语言程序都使用到一个叫做“标准时间库”的程序库,这个时间库用一个标准的4字节也就是32位的形式来储存时间信息。
5 ?4 y6 S" _$ _  g* G5 l   - v- O. q  m2 c; `: f' p
  当初设计的时候,这个4字节的时间格式把1970年1月1日凌晨0时0分0秒作为时间起点,这时的时间值为0。以后所有的时间都是从这个时间开始一秒一秒累积得来的。
" o& ]9 @$ e4 C; A. q7 t. B. a! Y   3 ~- U3 Y! v* b5 Y' K) e( K; L
  比方说如果时间已经累积到了919642718这个数值,就是说这时距离1970年1月1日凌晨0时0分0已经过去了919642718秒,换算一下就应该是1999年2月21日星期天16时18分38秒。 1 T3 g0 W) `3 l# }: u/ @( [
   * z% f/ H9 ^; C9 j7 e1 p2 m
  这样计算时间的好处在于,把任意两个时间值相减之后,就可以很迅速地得到这两个时间之间相差的秒数,然后你可以利用别的程序把它换算成明白易懂的年月日时分秒的形式。 - N6 w8 G9 }3 N7 g; I% \! r* b1 ]/ V
   . ^7 W) `/ }* U6 i/ |, H
  要是你曾经读过一点儿关于计算机方面的书,你就会知道一个4字节也就是32位的存储空间的最大值是2147483647,请注意!2038年问题的关键也就在这里———当时间一秒一秒地跳完2147483647那惊心动魄的最后一秒后,你猜怎么样?
2 L( ?5 Y6 C+ I  V  i7 k3 d   ! C; i. V+ x+ C" K: H( N
  答案是,它就会转为负数也就是说时间无效。那一刻的准确的时间为2038年1月18日星期一晚上10时14分7秒,之后所有用到这种“标准时间库”的C语言程序都会碰到时间计算上的麻烦。
5 U: V$ R$ U. b0 @5 C7 u& V/ C/ l1 t. m  
( H9 _3 P4 H4 V5 t6 a* Q4 @$ N  这就是2038年问题。
' i1 D- l/ V: s6 b   & \. y7 L7 L9 F+ ]2 J( q
  但是大家也不用太过紧张。2038年问题比Y2K(Year 2000 Problem)[千年虫]问题解决起来相对要容易一些,只要给那些程序换一个新版本的“标准时间库”就可以了,比如说,改用8字节64位的形式来存储时间。这样做并不怎么费事,因为在C程序中“标准时间库”是相对独立的一个部分,里面的时间表达都有自己的一套时间类型和参数(而在碰到Y2K的那些大型主机中,时间格式大都没有统一)。 ; [, {+ x5 r2 X) T! p4 X
  
/ U$ M# Z/ z# R- a( f  说到这里,一些冰雪聪明的菜鸟DDMM们应该可以联想到,WindowsNT用的是64位操作平台,它的开始时间是1601年1月1日———但是它每过1个纳秒就跳一下,因此,WindowsNT它会碰到的是2184年问题…… 2 ~% d- Z* o& s# A  I
  
5 N6 n- K0 }' H% {) I$ N+ {) J  而在一些用64位来表示时间的平台上,例如DigitalAlpha、SGI、Sparc等等,想要看到它们的时间出错你得等到天荒地老———那大概是292亿年。到那时,位于猎户座旋臂的太阳,已经是黑矮星或暗黑物质,猎户座旋臂已经被重力波震断,银河系大概则已经变成小型似星体了。 4 [$ r: Q% O4 \9 c" s( x; m3 O
   " u# R2 o: F# G/ c2 G
  所以,给那些准备攒机的菜鸟DD一个建议,除非您想要把资料流传给下一个宇宙,一台64位的电脑已经足够。
4 z8 x; w3 U2 P0 }6 d5 J) V总之,32位的最后时间是2038年1月19日03:14:07,星期二。
# f9 O% v* H* f" v. t4 ?4 V64位的最后时间约2900亿年后的292,277,026,596年12月4日15:30:08,星期日。
& j6 [5 H1 L  i. \( t) b6 \明白了这个问题,我们就知道为什么QQ增值服务的时间期限只能罗列到2038年了
发表于 2009-8-3 00:00:34 | 显示全部楼层
./*3a看不懂 以后的管他呢
发表于 2009-8-3 00:00:57 | 显示全部楼层
看不懂# a( c: W& L) u8 F
  不过听着像那么回事
发表于 2009-8-3 00:01:56 | 显示全部楼层
这些事情都说不清楚·能用多久用多久咯
发表于 2009-8-3 00:08:02 | 显示全部楼层
哇LZ是天才
发表于 2009-8-3 00:27:12 | 显示全部楼层
不过听着像那么回事
发表于 2009-8-3 10:03:06 | 显示全部楼层
有点吓人。。不过貌似没啥大事
发表于 2009-8-3 10:17:45 | 显示全部楼层
看不懂。。。
发表于 2009-8-3 10:25:22 | 显示全部楼层
看不懂
发表于 2009-8-3 10:59:05 | 显示全部楼层
哦也,原来如此啊
发表于 2009-8-3 11:14:29 | 显示全部楼层
以后机器还会换代的啦,服务器会提升,害怕这个嘛:P;:
发表于 2009-8-3 11:44:59 | 显示全部楼层
2038年。。。反正还早的。。。不急那。。。
发表于 2009-8-3 12:28:00 | 显示全部楼层
看不懂...那个时候已经不用再上网了...
发表于 2009-8-3 13:14:38 | 显示全部楼层
谢谢分享
发表于 2009-8-3 13:35:40 | 显示全部楼层
到底什么意思' V) _- d. \0 n  T
怎么这些东西你也知道啊?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

QQ|手机版|小黑屋|☆我要吧☆ ( 豫ICP备13016831号-1 )

GMT+8, 2025-12-18 19:11 , Processed in 0.104338 second(s), 22 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

快速回复 返回顶部 返回列表