按:记得在2000年,我还是一个7岁的孩子.那时,我只依稀知道一点点计算机知识.而千年虫问题充斥了所有媒体,甚至在六一儿童节CCTV还播放了渲染这个问题的动画片.无知的我竟然认为这是一种类似于"黑色星期五"或CIH的定期发作强力病毒,包括我身边的很多人都这样认为.在八年后的今天,Y2038问题来临30年倒计时之日,我写下这篇文章,来分享我所了解的一些事实.
1.时间与空间
有人说,时间如同射出去的箭,永远不会回头.
现在是2008年.那么,一万年后的今天就是12008年,十万年后的今天就会是102008年......只要我们继续使用公元纪年法,这个数字就会无限增长下去,而没有一个尽头.换句话说,我们表示时间的数字最大将是无穷大.
可我们计算机的设计决定了数字不可能无限增长.因为每个数字在计算机内存(以及硬盘)里占据的空间都是等量的,而不管它有多大或多小.举个例子,1和10000虽然相差一万倍,可他们都占用32个bit(4字节)
计算机刚被发明的时候,储存设备很贵,人们为了节约空间便图省事,储存一个年份的时候只储存最后两位.使用的时候前面加上19就可以了,非常方便.
习惯的力量是巨大的.尽管日后储存器越来越便宜,可这种表达方式却被延续下来.主要是因为程序员都认为自己的程序不会用那么长时间.