我已經在不同版本的計算器中檢查了0 ^ 0的結果:
- iOS 10.3 => 1
- iOS 11.4 =>錯誤
- macOS 10.12.6 => 1
- macOS 10.13.5 =>不是數字
造成差異的原因是什麼?
我已經在不同版本的計算器中檢查了0 ^ 0的結果:
造成差異的原因是什麼?
雖然0⁰通常是未定義的,但是某些數學分支確實將其明確定義為 為1,因為如您所見,這是函數y(x)=xˣ在n = 0處收斂。
正式減少,請注意0.5 0.5 sup> = 0.707…;0.2 0.2 sup> = 0.725…;0.1 0.1 sup> = 0.794…和0.01 0.01 sup> = 0.955…。當您接近0時,結果將接近1,這使得將定義 i> 0 ^ 0定義為1 在某些情況下非常合邏輯且方便。
因此,這3個結果中的任何一個本質上都不正確,相反,它們都反映了此未定義表達式的值的不同約定。
有一篇很好的維基百科文章解釋了該問題。另請參見歸零功率–是0⁰= 1?。
浮點算術的大多數實現都遵循IEEE 754-2008標準,該標準指定pow(0,0)返回1(請參見第9.2.1節)。
但是它還定義了其他兩個函數:pown(0,0)= 1和powr(0,0)= NaN。
IEEE 754-2008浮點標準用於設計 大多數浮點庫。它建議一些操作 計算能力:[20]
pow將0 0 sup>視為1。如果冪是正整數,則結果為 與pown相同,否則結果與powr相同(某些除外) 例外情況。)
pown將0 0 sup>視為1。冪必須精確 整數。該值是針對負基數定義的;例如pown(−3,5)是 −243。 powr將0 0 sup>視為NaN(非數字-未定義)。值是 對於底數小於零的powr(-3,2)這樣的情況也為NaN。 該值由epower×log(base)定義。
戰俘變種的靈感 由C99的pow函數提供,主要是為了兼容性。[21]它是 主要用於具有單一冪函數的語言。袍子和 由於使用衝突,因此引入了powr變體 冪函數和不同的觀點(如前所述 以上)。[22]
當然,這與正確的數學結果無關:正如其他人所指出的,答案不只一個,而且IEEE必須做出任意決定。
蘋果公司的某人發現0 ^ 0是無效操作,並將其修復。
零為零是一個矛盾
應該會生成錯誤。您沒有看到正在生成錯誤的唯一原因是由於相關計算器的版本沒有捕獲該輸入錯誤。
關於0⁰存在一些爭議,歸結為功能x ^ y在(x,y)->(0,0)處不連續。這是一個半爭論,因為禁止在函數上具有不連續值的函數在數學上是胡說八道。
通常的做法是將整數嵌入到實數中,以便在實數函數採用整數值時,實數上定義的函數與整數上定義的相同函數匹配。因此,將0.0 ^ 0與0.0 ^ 0.0區別不大。
現在,以整數0為指數的x⁰是一個恰好包含零個x因子的乘積。由於x的值中不包含x的因子,因此根據x為其分配值幾乎沒有意義,並且它的空乘積值很明顯為1,是乘法的中性元素。
這也很有意義,因為它不會將二項式定理任意地限制為非零值。從某種意義上說,這是一個基於試圖合理地在x = 0處完成函數x⁰的參數,從而使該函數在所有位置都定義並連續。
如果我們改為使用函數0 ^ x嘗試此操作,則x = 0 +處的限制可能為0,但由於未為負x定義該函數,因此將其定義為這樣仍然不能解決基本的不連續性。
現在,計算器傾向於將x ^ y計算為exp(y * ln(x))。當然對於x = 0來說這是個壞消息。因此,必須明確地編程這些值,否則您將得到一個非數字。對於顯式編程,您必須依靠程序員的數學直覺,並且與數學家相比,典型的程序員將更受偽數學直覺的指導,例如“在定義的地方函數必須是連續的”。
此外,您可能會期望來自不同用戶的大量評論,並且純數學家不會因為他們對數學真相的看法而完全依賴計算器,因此您不能期望他們的輸入會淹沒其他人的輸入。 >
因此,結果是民主的結果遠勝於數學的結果,民主多數派傾向於改變。