18新利最新登入2000年问题是如何发生的

千年虫写在一台旧电脑显示器上。"width=
千年虫指的是程序员编写的代码18新利最新登入中如何使用日期。Stockbyte / Getty Images

今年你会经常在新闻中听到“千禧年”的问题。在这个过程中,你会听到很多相互矛盾的信息。18luck手机登录互联网上也有不少关于“世界末日”的言论。你应该相信什么?

在本期的18新利最新登入工作原理我们将讨论2000年问题(也称为千年虫问题),以便您确切地了解正在发生的事情以及正在采取的措施。您还可以探索各种各样的链接。从这些信息中你可以得18luck手机登录出自己明智的结论。

广告

千年虫问题是什么?

千年虫问题的原因很简单。直到最近,计算机程序员一直习惯在他们的软件中使用两位数字占位符作为日期的年份部分。例如,一个典型的保险单或信用卡的到期日期以MM/DD/YY格式存储在计算机文件中(例如- 08/31/99)。程序员这样做的原因有很多,包括:

  • 每个人在日常生18新利最新登入活中都是这么做的。当你手写支票时,你用“斜杠”格式写日期,你就像这样写。
  • 存储2位数字比存储4位数字需要更少的空间(现在不是什么大问题,因为硬盘很便宜,但在旧机器上曾经是大问题)。
  • 直到最近,标准机构才推荐使用4位数字的日期格式。
  • 没有人预料到很多软件的生命周期会如此之长。1970年编写软件的人没有理由相信30年后软件还会被使用。

对于大多数程序来说,当输入“00”作为年份时,2位数的年份格式会产生一个问题。软件不知道是把“00”解释为“1900”还是“2000”。因此,大多数程序默认为1900。也就是说,大多数程序员编写的代码要么在两位数日期的前面加上“19”,要么对世纪没有任何假设,因此在默认情况下,它是“19”。这不是问题,除非程序对日期执行大量计算。例如,要计算你的年龄,程序会用今天的日期减去你的出生18新利最新登入日期。这种减法适用于两位数的年份,直到今天的日期和你的生日在不同的世纪。这样计算就不成立了。例如,如果程序认为今天的日期是1/1/00,而你的生日是1/1/65,那么它可能会计算出你是-65岁,而不是35岁。结果,日期计算会给出错误的输出,导致软件崩溃或产生错误的结果。

重要的是要认识到这一点。这是整个2000年的问题。许多程序员在他们的程序中使用2位数的格式来表示年份,结果他们的日期计算不能得到1/1/2000的正确答案。没有比这更重要的了。

显然,解决办法是修改程序,使其正常工作。有几个标准的解决方案:

  • 重新编码软件,使其理解00、01、02等年份实际上指的是2000、2001、2002等年份。
  • “真正解决问题”的方法是多年使用4位占位符,并重新编写所有软件来处理4位日期。[有趣的问题——为什么用4位数字表示年份?为什么不用5个,甚至6个呢?因为大多数人认为8,000年后没有人会使用这个软件,这似乎是一个合理的假设。现在你可以看到我们是如何陷入千年18新利最新登入虫问题的……]

这两种修复在概念层面上都很容易做到——你进入代码,找到每个日期计算,并更改它们以正确处理事情。只是软件中有数百万个地方需要修复,而且每个修复都必须手工完成,然后进行测试。例如,一家保险公司可能有2000万或3000万行代码来执行保险计算。在代码中可能有100,000或200,000个日期计算。根据代码是如何编写的,程序18新利最新登入员可能不得不手动修改程序中使用日期的每个点。然后他们必须测试每一个变化。在大多数情况下,测试是最难的部分——它会花很多时间。

如果你计算出每个变更需要1天的时间来进行和测试,有10万个变更需要进行,一个人一年工作200天,那么这意味着每年需要500个人来完成所有的变更。如果你还考虑到大多数公司都没有500个无所事事的程序员,他们不得不去雇佣这些人,你就会明白为什么这会成为一个相当昂贵的问题。如果你计算出一个程序员每年花费大约15万美元(一旦你把程序员的工资、福利、办公空间、设备、管理、培训等包括在内),你就会发现一个公司在一个大型程序中修复所有的日期计算可能要花费数千万美元。

广告

2000年1月1日将会发生什么?

在2000年1月1日,未修复的软件将停止工作或产生不正确的输出。最大的问题是,“这将对我们所知的世界产生多大18新利最新登入的影响?”

有些人预言世界将会毁灭。例如,全球范围的停电,交通基础设施的全面崩溃(意味着食物无法到达商店,等等),飞机从天上掉下来,等等都是这些人预见的场景。预测是,社会结构将崩溃,各地的人们将发生骚乱,世界将被夷为平地。当然,做出这些预测的人都倾向于:A)民兵成员,B)生存主义者,C)宗教狂热者。认识到这些预测的来源是很重要的。

广告

事实上,什么也不会发生。可能会有一两个星期的不便,因为不可预见的问题出现了,并被解决了。否则不会有任何效果。这是一个简单的预测,因为:

  1. 到1999年年底,大多数公司和政府机构都将修复他们的软件,或者有适当的变通办法。如果他们不这样做,他们就会破产,这是完成工作的强大动力。
  2. 不管我们认为自己多么18新利最新登入依赖计算机,大多数事情都是由人来操作的,而不是硅。以食物为例。西红柿和生菜会继续生长,采摘的人会继续采摘,罐头厂会继续装番茄,卡车司机会继续开卡车,杂货店会继续卖番茄。换句话说,即使有几台电脑停下来,世界也不会停止。
  3. 有些公司会不协调行动,会出现问题。他们将会破产。这是正常的资本主义运作。在赢家和输家解决问题的过程中,会有一点混乱,但还有什么新情况吗?

另一件要记住的事情是,我们一直在经历不便,它对我们的影响很小或没有影响。例如,当UPS(联合包裹服务)在1997年罢工时,它关闭了美国大约80%的包裹递送基础设施。世界并没有末日——每个人都使用邮局和联邦快递。1999年1月3日,芝加哥和底特律经历了30年来最严重的暴风雪。它关闭了全国的航空旅行,推迟了底特律车展的开幕,成千上万的人被困,等等。18新利最新登入无论如何18新利最新登入,我们都设法在不便中生存下来。在2000年1月1日,会有一些公司出现问题。但会有很多其他公司不这么做。这可能会带来不便,但这就是它所造成的一切,两周后我们会解决它。这与大暴风雪或大罢工没有什么不同——我们找到解决问题的方法,生活继续。

关于2000年问题,有许多恐吓战术和夸张的说法。所有这些都有一个相当广泛的假设,即人们再也不能胜任自己的工作了。重要的是要认识到,即使世界上的许多计算机在2000年1月1日突然关闭,总的影响也会很小,因为人们知道他们在做什么。让我来告诉你为什18新利最新登入么:

  • 假设美国所有的自动取款机都停止工作了。银行仍然有柜员,您仍然可以在正常营业时间与柜员通话进行存取款。
  • 假设UPS的每台电脑都要关闭。UPS就是一群开着棕色卡车的人,他们都能读懂地址标签。包裹还是会送到。
  • 假设商店里的所有条形码扫描器都停止工作了。收银员仍然可以输入价格。
  • 假设联邦航空局的每台电脑都要关闭,飞机上的自动驾驶电脑也都停止工作。空中交通管制员是人,飞行员仍然可以驾驶飞机。我们可能无法在繁忙的机场每分钟降落两架飞机,但飞机仍然会飞行。
  • 在千年虫问题上使用的最大恐吓策略之一是“电网故障”。假设某个地方出了问题。有成千上万的有能力的人在管理和修复电网——这些人是在每次大飓风、冰暴等之后把电网重新组合在一起的人。同样需要注意的是,电网并不是什么神奇的东西。请阅读《电网是如何工作的18新利最新登入》并自学。电网由无源电线和变压器组成。电子仍然会在2000年1月1日穿过电线。

在世界末日论者中有一种假设,不知何故,在2000年1月1日,每台计算机都会失败(这是愚蠢的),而且每18新利最新登入个人也会以某种方式“失败”。如果你仔细想想,你就会发现这是多么不真实。18新利最新登入我们都知道如何做好自己的18新利最新登入工作,我们都想过自己的生活。在2000年1月1日,我们都将是一样的。我们会钻进车里,想去买些东西。卖东西的人还是会想卖,这样他们就能赚钱。这一点永远不会改变。

链接

广告

常见问题解答

千年虫是什么意思?
“Y2K”一词是指2000年问题的简称。问题是许多计算机系统只使用年份的后两位数字存储日期,这可能会导致一些系统将2000年误解为1900年。这可能会导致数据处理和其他依赖日期的活动出现问题。
为什么千年虫是个大问题?
千年虫问题是个大问题,因为它有可能造成大范围的破坏。问题是一些计算机系统的程序没有正确处理1999年以后的日期。这可能会导致一系列问题,例如关键基础设施的故障或重要数据的丢失。
什么是千年虫病毒?
千年虫病毒是一种计算机病毒,被设计成在2000年的第一天传播。该病毒导致电脑死机,造成数十亿美元的损失。
特色

广告

加载……
Baidu