在计算机科学发展过程中的10个著名错误

添加时间:2020-06-16 14:25:58

来源:

浏览:

今天,成都ERP系统公司,跟您分享在计算机科学发展过程中的10个著名错误。


死锁,竞争条件,被零除,无限循环,无限递归...您可能已经在计算机编程中听说过这些术语,并且您可能已经知道,如果这些术语存在于您的程序中,它们将如何在软件中造成大问题。如果计算机编程是任何人都可以选择的最有趣的领域之一,那么它也是人们可以自己选择的最危险的途径之一。程序员知道编写无错误代码时需要多加注意。一个小错误可以使某人在短短几秒钟内就变成一个有钱人,也可能导致商业乃至人命损失。


我们将讨论程序员在历史上犯下的一些著名错误,以及它们如何影响业务和人们的生活。


1. Ariane 5 Rocket Failure(1996年): Ariane 5爆炸是历史上最昂贵的软件错误之一。这种著名的欧洲火箭被用来发射卫星,它的开发成本约为80亿。火箭发射后仅40秒就爆炸了。其失败的原因是整数溢出,它是计算机编程中非常常见的错误。在声明变量时要注意变量所需的内存大小,这一点非常重要,这是在开发此火箭过程中的错误。编码是在Ada中完成的。经过团队的调查,他们发现代码行试图将64位数字放入16位空间。这次失败的结果是损失了3.7亿美元。


2. Y2K错误(1999): 在1960年代,计算机工程师采用了用两位数字代码编写程序的方法,当年代码为“ 19”。他们中的大多数人认为在变量“ year”之前写“ 19”是不必要的记忆浪费。例如,为了表示1970,他们仅使用两个结束数字“ 70”。一切都很好,直到1999年12月31日。但是在那之后,一旦2000年1月1日,由于两位数表示为“ 00”,许多计算机将年份读为1900。该错误被称为Y2K或“千年错误”(字母K,代表公斤,代表数字1,000。因此,Y2K代表2000年。)。它影响了每天计算利率的银行,发电厂,交通运输等许多技术中心。为了升级全球计算机系统,花费了数十亿美元。


3.爱国者导弹失灵(1991年):军事行动失误会危及许多人的生命。在第一次海湾战争期间,美国爱国者导弹被部署用来侦查和拦截依赖于非常精确的计时的飞毛腿导弹攻击。由于系统中的舍入误差,它计算出错误的时间,导弹未能拦截伊拉克飞毛腿导弹对沙特阿拉伯一个军营的攻击。这次袭击使28名美国士兵丧生,并使100人受伤。


4. AT&T(1990年): AT&T选择了升级比当前更复杂的软件,并希望改善长途通话,但事与愿违,网络也因此瘫痪。9个小时以来,AT&T的客户无法拨打长途电话。由于此故障,错过了7500万个电话,丢失了20万个航空公司的预订。问题在于处理交换站崩溃的交换站代码中的竞争状况。竞争条件是由循环内的switch语句引起的。由于代码错误,AT&T损失了6000万美元。


5. Gangnam Style Broke Youtube:最初开发youtube时,没有人认为一首歌可以获得数十亿次观看,并且它可以超过32位有符号整数的最大大小。一个32位带符号整数的最大值是2、147、483、647,当一首歌曲Gangnam Style出现在韩国流行歌星对此流行歌曲的观看中时,它超过了最大值,我们得到了以下结果……


后来,Google将视图计数更改为64位带符号整数以修复该错误。


6. Mariner 1软件错误(1962): Mariner 1航天器被认为是历史上最昂贵的失败之一。该航天器被设计成由金星飞行,但在卫星能够捕获机载制导天线之前就失败了,它已经偏离了原定的飞行路线。失败的原因是缺少透支。由于省略了代码中的连字符,航天器获得了不正确的引导信号。1962年,这枚火箭的成本超过1800万美元。科幻小说家亚瑟·克拉克(Arthur C Clarke)将水手1号形容为“受到历史上最昂贵的连字符的破坏”。


7. NASA的“火星气候轨道器”(1988年):由于测量单位的不同,火星“气候轨道器”从地球飞行了286天后被摧毁。该项目的设计成本为1.25亿美元,用于研究火星表面和气候。通信被切断,轨道器以错误的角度进入火星大气层,而不是进入行星轨道。原因是控制Orbiter推进器的软件使用的是英制单位(磅力),而不是公制单位(牛顿),并且它们相互冲突。


8. Pentium FDIV Bug(1993):许多计算机都采用Intel技术运行,并且Intel一直以其良好的处理器而闻名,但数学教授Thomas Nicely于1993年在Pentium x86处理器中发现了一个bug。点数在特定范围内。例如,将4195835.0 / 3145727.0除以得到1.33374而不是1.33382,误差为0.006%。并非所有处理器都有故障,但是发现了大约500万个有缺陷的芯片,并且只有当客户能够证明它们受到有缺陷的芯片的影响时,英特尔才同意更换该芯片。后来,该公司为任何抱怨的人更换了芯片,英特尔为此付出了4.75亿美元的代价。


9. Paypal错误(2007):全球最大的在线支付处理商Paypal也遇到编程错误。PayPal意外地使宾夕法尼亚州男子Chris Reynolds以92亿美元的身价成为全球首富。PayPal错误地将这笔款项记入了自己的帐户,使他的财富变得比整个星球的GDP总和高出一千倍。在64位数字的世界中,确切的数量非常重要,表明存在编程错误。该错误很快被发现,并且在登录时他的帐户已归零。


10. Windows计算器错误: Windows计算器本身也包含一个错误。几乎所有Windows版本(包括Windows XP,Vista,7和Windows 8)都存在此错误。您可以在系统中进行检查。打开Windows计算器,然后键入4并取平方根,您将得到2,然后减去2。您将看到不同的结果,而不是结果0。您可能会在不同版本的Windows上看到不同的输出。即使对于sqrt(9)-3,答案也是错误的。答案应该为零,但您会看到一些奇怪的数字。最终,Microsoft在Calculator应用程序中确认了此错误,并在Windows 10较新版本中对其进行了修复。


用户名 Name
评论 Comment

ERP系统  相关内容

——
16

2020-06

在计算机科学发展过程中的10个著名错误

今天,成都ERP系统公司,跟您分享在计算机科学发展过程中的10个著名错误。死锁,竞争条件,被零除,无限循环,无限递归...您可能已经在计算机编程中听说过这些术语,并且您可能已经知道,如果这些术语存在于您的程序中,它们将如何在软件中造成大问题。如果计算机编程是任何人都可以选择的最有… [了解更多]

27

2020-03

如何成为一名优秀ERP系统的Java程序

Java是一种非常成功且流行的编程语言。它非常可靠,已广泛用于我们的日常生活中,在Web或移动应用程序中尤为明显。如今,对Java的需求很大,并且Java程序员主要是在信息技术领域招聘的。有关为什么您应该学习Java的更多详细信息,可以访问学习Java的十大理由。为了成为一名优秀… [了解更多]

27

2020-03

ERP系统中计算机科学家与程序员与开发人

通常,在我们软件开发,ERP系统行业,我们会听到他是一名程序员,他是一名开发人员,他是一名黑客以及他是一名计算机科学家。但是程序员,开发人员,黑客和计算机科学家之间有什么区别?因此,我将尝试区分这两个词。在这里,我给出一个基本的想法,但不会深入探讨。计算机科学家 –精通数学,机器… [了解更多]

联系我们

/ CONTACT US

地 址:成都市人民南路四段成科西路三号

邮政编码:610000

电 话:18215660330

传 真:18215660330

手机:18215660330

邮 箱:zzjfuture@gmail.com

投诉邮 箱:18215660330

姓名Name
标题Title
邮 箱Emali
联系电话Tel
内容Content