也许在这里问这是一个错误的问题,但我很好奇。我知道很多语言在被要求除以0时会简单地爆炸和失败,但是有没有任何编程语言可以智能地处理这个不可能的总和 - 如果是的话,它们是做什么的?他们是否继续处理,将350/0当作350,或者停止执行,或者是什么?不同的编程语言如何处理除以0?
回答
的扩展实数线的无穷大可在IEEE表示浮点数据类型,就像像普通浮点值1,1.5等。它们不是以任何方式出现的错误值,虽然它们通常(但不总是,因为它取决于舍入)在溢出时用作替换值。除以零例外时,正或负无穷大作为确切结果返回。
如果任何语言返回350,如果你做350/0,我会感到惊讶。仅举两个例子,但Java抛出一个可以被捕获的异常。 C/C++只是崩溃(我认为它会抛出一个可能被捕获的信号)。
有两种不同的语言,称为C和C++,我不认为他们中的任何一个在他们的标准中都有特定的规定。一种或两种语言的某些实现可能会抛出信号。 – 2010-03-05 18:14:46
在Java中,在浮点上下文中除以零产生特殊值Double.POSITIVE_INFINITY
或Double.NEGATIVE_INFINITY
。
或'Double.NaN',如果你用零除零。 – mob 2010-03-05 18:05:35
鲜为人知的Java programming language给出了在IEEE浮点上下文中除以零时的特殊常数Double.POSITIVE_INFINITY
或Double.NEGATIVE_INFINITY
(取决于分子)。整数除以零是未定义的,并导致ArithmeticException
被抛出,这与“爆炸和失败”情况完全不同。
你如何双倍无限?这不就是给你无限吗?莫罗尼克的头脑想知道! – 2010-03-05 18:41:53
另外,如果你加倍不是一个数字,这是否使它成为一个数字? – 2010-03-05 18:48:15
@ T.E.D实际上,由于它们扩展的速度,有些无限大于其他,例如。 SUM(1..n)是一个小于SUM(1^2 ... n^2)的无穷大,因为n接近无穷大(这是与数学的限制相关) – 2010-07-13 18:32:09
在Delphi中,如果它在运行时发生,它会引发编译时错误(如果被0值const分开)或可捕获的运行时错误。
这对C和C++来说是一样的。
在PHP中,你会得到一个警告:
警告: <file.php>被零线X
因此,在PHP中,什么东西如:
$i = 123/0;
$我将被设置为无。 但是 $ i不是=== NULL和isset($ i)返回true,is_string($ i)返回false。
如果只有警告,那么表达式返回? – 2010-03-05 19:01:09
更新的答案有更多的信息。 – AlexV 2010-03-05 19:14:26
上鸿沟INTERCAL标准库的回报#0
由零
Python(至少版本2,我没有3)抛出一个ZeroDivisionError,它可以被捕获。
num = 42
try:
for divisor in (1,0):
ans = num/divisor
print ans
except ZeroDivisionError:
print "Trying to divide by 0!"
打印出:
42
Trying to divide by 0!
版本3.1仍然会引发ZeroDivisionError。 – dan04 2010-03-21 05:35:32
浮点数具体根据IEEE定义的NaN常数等。任何涉及THST值将保持不变,直到结束继续进行操作。整数或整数与抛出的异常是不同的......在java中......
- 1. 如何处理除以0
- 2. 以不同的编程语言重载
- 3. 程序如何使用以不同语言编写的文件?
- 4. 管理用不同编程语言编写的并发项目
- 5. 如何编写和不同的语言
- 6. 处理除以0和NA
- 7. PHP如何在配置文件中处理不同的语言?
- 8. 如何处理不同语言的iOS推送通知
- 9. 不同的语言如何处理a = a ++?
- 10. C语言在x64处理器上的表现如何不同
- 11. 连接不同的编程语言
- 12. 使用不同编程语言的TCP
- 13. 不同编程语言的随机数
- 14. 编程语言如何处理大数运算
- 15. 如何通过编程语言实现异常处理?
- 16. 如何使用MSVC编写Postgres语言处理程序
- 17. Go编程语言如何处理日期和时间?
- 18. 如何在编程语言中处理并行HTTP请求?
- 19. 以不同语言编写notepad ++插件
- 20. 如何暴露以不同语言编写的对象/函数?
- 21. 你如何处理不同的语言Web应用程序和Selenium IDE?
- 22. 编程语言和协议如何以不同语言(例如法语,中文)工作?
- 23. 如何处理python中的unicode语言
- 24. 如何组合不同的编程语言
- 25. 如何在Sublime Text中编程不同的语言?
- 26. 对于iPhone,您可以编程使用不同的语言吗?
- 27. Lua的浮点处理与其他语言有何不同?
- 28. 不同语言之间的多处理,如PHP和Python
- 29. 以不同的印度语语言从Asp.net以编程方式发送SMS
- 30. 处理多种语言编码
你在问语言或语言实现吗?并非所有的语言都规定了确切的行为,因此它因实施而异。 – 2010-03-05 18:16:35
询问每种不同的语言如何处理场景。我收到了一些令人着迷的答案,只是对每种语言的作用感到好奇。 – Jack 2010-03-05 19:29:50