使用计算机编程除以0会怎么样

今日头条

1100人已加入

描述

除以 0 可能很棘手,特别是如果您使用计算机或计算器这样做,如果您的计算机或计算器本质上是机械的,则更是如此。

在除法的情况下,如果你取一个数(被除数)除以一个较小的数(除数),结果(商)是一个较大的数(例如,1/0.1 = 10)。除数越小,商越大(例如,1/0.01 = 100、1/0.001 = 1,000 等等)。

在学校,我被教导将任何数字除以 0(即可能的最小除数)导致无穷大,但我担心我的老师告诉我猪肉(猪肉馅饼)。问题是无穷大不是一个实数——它更像是一个概念——即使是这样,它也不是用零除的答案。

另一种思考方式是除法是乘法的逆运算,任何乘以 0 都是 0。因为没有数可以乘以 0 得到非零结果,那么除以任何非- 零数字 0 未定义。

现在,让我们考虑计算机的情况。如果我们编写一个尝试除以 0 的程序会发生什么?显然,像“a/0”这样的语句是编译器可以识别的,但是对于像“a/b”这样的语句,我们可能在运行之前不知道“b”的值时间(我们可以在一个循环中循环,“b”可能在不同的时间有不同的值)。

我们可以编写程序,检查代码中是否出现被零除,但这会使我们的程序变得庞大且笨拙,因此我们将其留给计算机的设计者来处理。

很多人没有意识到的是,除以 0 的结果取决于所使用的变量的类型。如果我们尝试将整数(有符号或无符号)除以 0,则会触发中断,从而执行适当的错误处理机制。相比之下,如果我们尝试将浮点数除以 0,IEEE 标准定义了特殊的无穷大、负无穷大和非数字 (NaN) 浮点值,这允许程序继续运行。

我之所以在这里胡言乱语,是因为我的好友 Matt Pulzer,他自称是英国首屈一指的计算机和电子爱好者杂志《实用电子》的“高级刽子手、巫师将军和主编” ,刚刚向我发送了该视频的链接,该视频显示了如果您尝试在旧的机械计算器上除以 0 会发生什么。

与此同时,作为 David Ashton 最近的专栏“自由能源——不需要量子场”的后续,EEWeb 专家Rick Curl刚刚给我发了一个视频链接,他说:“我敢打赌,你知道这个视频是怎么做的。”

好吧,显然我知道它是如何完成的,但是这个视频中显示的系统呢?

但我们离题了……马特还给我发了一个四部分视频系列的第 2 部分的链接,该视频展示了一个约曼看守在伦敦塔(那是英国伦敦——不是阿肯色州的三个伦敦城市之一,肯塔基州或美国俄亥俄州或其他 14 个名为伦敦的非法人社区分散在全国各地)。

这家伙很搞笑——有点像巨蟒——经典的英国幽默。到目前为止,我只看了第 2 部分(我把其他的留着等我回家),但他让我大笑起来,就像他说的那样,“在拱门的左下角,有一个停泊点对于一艘 700 年没有使用过的船,但奇怪的是每 10 英寸就会上漆一次(他这么说听起来更好)。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分