也許在這裏問這是一個錯誤的問題,但我很好奇。我知道很多語言在被要求除以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