专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
今天看啥  ›  专栏  ›  码小辫

史上最贵 Bug,一行代码=5亿欧元

码小辫  · 公众号  ·  · 2024-08-10 17:10
    

文章预览

1996 年 6 月 4 日,欧洲航天局(ESA)首次发射了阿丽亚娜(Ariane)5 ,这在太空探索史上是一个重要时刻。 然而,这次任务却因一行代码导致火箭发射后发生了爆炸,价值近 5 亿欧元。 在起飞后约 30 秒,火箭在大约 3700 米的高度上偏离了预定飞行路径并发生解体和爆炸。 这次失败的主要原因在于制导系统中的一个软件缺陷,该系统负责调节火箭的航向。 归根结底是由于一个编码错误,这段代码原本属于十年前阿丽亚娜4 型火箭的一部分,但在阿丽亚娜5 型火箭的设计中没有被适当更新或移除。 在火箭升空后,制导系统负责持续监测并跟踪火箭的飞行轨迹,并将这些数据传输给主计算机,在这一过程中,制导系统需要将测得的速度数据从 64 位浮点数格式转换为 16 位有符号整数格式。 然而,浮点数和整数在表示数值范围上存在本质差异: 16 位 无符 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览