这周没有给定的博客主题,我就来科普科普在复习过程中遇到的感兴趣的问题吧~

Year 2000 problem(千年虫问题)

The Year 2000 problem (also known as the Y2K problem, the Millennium bug, the Y2K bug, or simply Y2K) was a problem for both digital (computer-related) and non-digital documentation and data storage situations which resulted from the practice of abbreviating a four-digit year to two digits.

【千年虫的来历】

  两千年问题始于1960年代,当时计算机内存和外部存储介质的成本很高,大多数数据处理需要借助于用穿孔卡片,它用80行文本表示所储存的数据。为了节省硬件成本,葛丽丝·霍普在Harvard Mark I上,以6位数字来存储时间,即年、月、日各两位。这个习惯被COBOL继承下来,传播到整个计算机程序界。

  那个时候的编程语言,如COBOL和RPG,使用ASCII码和EBCDIC编码表示数据。如果用四位数字表示年份,就要多占用储存器空间,就会使成本增加,因此为了节省存储空间,计算机系统的编程人员采用两位数字表示年份,随着计算机技术的迅猛发展,虽然后来存储器的价格降低了,但在计算机系统中使用两位数字来表示年份的做法却由于思维上的惯性势力而被沿袭下来。对大多数程序员来讲,他们并不认为所编写的软件会持续使用很多年。

  比较有意思的是,两千年问题是由Bob Bemer在1958年第一次提出的。在其后的二十年里,他用了很大的努力,希望政府、企业和国际组织(如IBM和ISO)来关注这个问题,但反响寥寥。直到2000年将要到来的时候,人们才感觉到两千年问题的紧迫性。于是社会和政府都投入了大量的人力和物力来避免发生大规模的计算机灾难。而从现在来看,这些努力也获取了相应的成果。

【几个典型的Y2K时间】

  • 1999年1月1日
  • 1999年4月9日(1999年的第99日)
  • 1999年9月9日
  • 1999年12月31日
  • 2000年1月1日
  • 2000年2月28日
  • 2000年2月29日
  • 2099年1月1日
  • 2099年4月9日
  • 2099年9月9日
  • 2099年12月31日
  • 2111年11月11日

9 September 1999

Even before 1 January 2000 arrived, there were also some worries about 9 September 1999 (albeit less than those generated by Y2K). Because this date could also be written in the numeric format 9/9/99, it could have conflicted with the date value 9999, frequently used to specify an unknown date. It was thus possible that database programs might act on the records containing unknown dates on that day. Data-entry operators commonly entered 9999, into required-fields for an unknown future-date, (e.g. a termination date for cable-television or telephone service), in order to process computer forms using CICS software. Somewhat similar to this is the end-of-file code 9999, used in older programming languages. While fears arose that some programs might unexpectedly terminate on that date, the bug was more likely to confuse computer operators than machines.

Year 2038 problem

Main article: Year 2038 problem

The original Unix time datatype (time_t) stores a date and time as a signed long integer (on 32 bit systems a 32-bit integer) representing the number of seconds since 1 January 1970. During and after 2038, this number will exceed 231 − 1, the largest number representable by a signed long integer on 32 bit systems, causing the Year 2038 problem (also known as the Unix Millennium bug or Y2K38). As a long integer in 64 bit systems uses 64 bits, the problem does not exist on 64 bit systems that use the LP64 model.

=======================================================

总的来说,千年虫问题起源于最开始的程序设计过程中对时间表示的疏忽,酝酿出了如今这一庞大的问题。也许这在当年看来不过是一个不能再简单的问题,是一个小小的程序,却对全世界造成了不可思议的影响。看来,程序员真的是有改变世界的潜质!没准身边的谁谁谁正在悄悄的影响着整个世界呢~哈哈~滚回去复习啦~

附:阅读资料来源:维基百科Wikipedia http://en.wikipedia.org/wiki/Year_2000_problem

转载于:https://www.cnblogs.com/ccvamy/p/4457773.html

科普一下:Y2K千年虫问题相关推荐

  1. 昨天,我又“装”上了Windows 1.0

    点击上方的终端研发部,右上角选择"设为星标" 每日早9点半,技术文章准时送上 公众号后台回复"学习",获取作者独家秘制精品资料 往期文章 记五月的一个Andro ...

  2. java---解惑--

    Java谜题1--表达式谜题 谜题1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数.这个方法能够正确运转吗? public static boolean isOdd(int i){  ret ...

  3. Java解惑 电子书

    --表达式谜题 Java 谜题 1--表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数.这个方法能够正确运转 吗? public static boolean isOdd( ...

  4. RFID在市场上的兴起:谁是赢家,谁是输家?

    2004年4月,沃尔玛宣布了一个试点项目,要求沃尔玛的前100名供应商在2005年1月前必须采用RFID技术--即所有供应达拉斯/沃斯堡地区沃尔玛超市和山姆会员店的货物在外包装盒和货盘上都必须采用无线 ...

  5. Win10和他的老兄弟们

    微软日前刚刚发布了最新版本的Windows操作系统,但微软为何跳过Windows9而直接发布Windows10引人遐思.即使Windows 10的发布充满了谜团,但其依然不失Windows不断进化的特 ...

  6. 【科普】“GPS周数翻转”会是新的“千年虫”事件吗?

     推荐一个不错的AI教程: https://www.captainbed.net/blog-vincent/ 一.导读 0.千年虫 计算机2000年问题,又叫做"千年虫".&quo ...

  7. Facebook用户遭遇千年虫:瞬间有了46年老友

    一些Facebook用户今天碰到了一个有趣的bug,系统提示他们与好友有了46年长的好友关系.要知道,Facebook还不到15岁,很多用户也没有46岁的高龄.Facebook一直没有透露产生这个bu ...

  8. 千年虫← 2000, 2020→千年虫现身Splunk 平台,立即修复!

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 还记得几乎20年前的"Y2K(千年虫)"问题吗?2020年被管理员忽视的Splunk 平台实例正在受到类似时间戳识 ...

  9. 照这样下去,“千年虫”还得再来十遍

    在21年前世纪之交,全球的计算机系统和互联网曾经出过一个重大事件:千年虫. 当时的计算机系统处理年份的方式都是两位数(如1998年会被系统缩略成98),而2000年在老系统里仍然以00显示,则会被系统 ...

  10. 千年虫病毒是不是计算机病毒,求助,千年虫是病毒吗?

    满意答案 mjgbpt 2012.12.04 采纳率:56%    等级:2 已帮助:27488人 ""千年虫"问题的根源始于60年代.当时计算机存储器的成本很高,假如用 ...

最新文章

  1. 网鼎杯2020 朱雀部分writeup
  2. lucky number
  3. 各种实用的 PHP 开源库推荐
  4. CNS级lncRNA权威文章解读及前沿发展
  5. leetcode628. 三个数的最大乘积(简单,我觉得你不会)
  6. Xposed框架安装失败
  7. 2021年高压电工模拟考试系统及高压电工考试试题
  8. 在 Hexo 中使用 iconfont 图标
  9. Boost电路小信号建模分析
  10. LittlevGL在AliOS thing上的应用
  11. 率土之滨鸿蒙团,【率土之滨】无需“垒实”也能鏖战全场!群吕布混编弓解析...
  12. c语言单片机自动浇花系统,LLAKG:Arduino 自动浇花系统(第3集:C语言程序升级与功能优化)...
  13. 数据仓库系列(一)什么是维度建模以及维度建模的基本要素
  14. 如何激活word2010
  15. 如何防止中国菜刀后门泄露webshell地址
  16. 压力传感器、称重传感器、电子秤模块-HX711人体称重模块应用及原理
  17. 智能创意拼图,汇集精彩瞬间
  18. 总结篇:系统及应用监控的综合思路
  19. 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商
  20. 多层json字符串转map_Java中Json字符串直接转换为对象的方法(包括多层List集合)

热门文章

  1. 推荐系统序列化建模总结
  2. Python——>图像的字符画绘制
  3. Java Web安全之代码审计
  4. 宋江是怎么当上老大的
  5. 原来,嵌入式BI方案的核心差异在这,教你如何评估
  6. Win10系统自带的虚拟机怎么打开教学
  7. win7系统怎么用笔记本做wifi热点
  8. Entering emergency mode. Exit the shell to continue.
  9. 系统垂直越权与水平越权漏洞修复记录
  10. 系统架构设计笔记(74)—— 企业信息化与电子商务