為什麼很多程式無法計算負數的立方根?

時間 2021-06-02 09:25:17

1樓:賀師俊

因為大多數程式語言的浮點數格式和相關運算遵循 IEEE 754 標準。IEEE 754 規定了 pow(x, y) 運算在 x 為 finite(即不是正負無窮大和NaN)且 x < 0,而 y 是 finite 且不是整數時,返回 NaN。

由於 IEEE 754 標準文字是需要收費購買的,所以我也無法給出權威引用。不過可以參考各程式語言的規範,如:

ECMAScript 規範(http://es5.github.io/#x15.8.2.13)

Go 語言數學庫(http://golang.org/pkg/math/#Pow)

至於 IEEE 754 為何這樣設定 pow 運算的規則,得找那些參與制定標準的數學工程計算領域的專家才能得到權威解答了。

2樓:仲晨

Excel裡:

Fortran不了解,抱歉。

不支援也很正常,很多語言對開立方以上本身就不內建,只內建個開平方功能。

程式語言只內建常用的東西。

為什麼負數的取餘計算各個程式語言結果不統一?

譚耀程 問題的關鍵在於商是向負無窮取值還是向0取值 7 10 0.7 or 7 10 1.3 其他語言我不清楚,貌似c11規定向0取值 就算是相同語言不同編譯器也會不一樣的。在我發現這個問題之後,每當我更新IDE 編譯器的時候都會用我的測試程式跑一遍,看看是不是和上個版本有什麼不同。有的時候一些小改...

為什麼沒有明星立程式設計師人設?

Alrescha 這人設不好渾水摸魚啊,放貴乎上不就分分鐘被扒了麼 手動滑稽 就比如唐九洲還沒出道呢,程式設計師人設就已經被某安吉尼爾 火球扒了,真出道了肯定不敢再搞 狗頭保命 別搞我,我腦子不好 溜了溜了 鬼鬼 樓天成,姚班出身,演算法第一人,谷歌演算法大賽得獎者,pony ai創始人,曾被臉書看...

計算機中為什麼可以用數值表示正負數

伊尹 首先,注意到,計算機運算的物件只能是二進位制,它並不區分正負數,或者說它總是把二進位制看作正數。所以我們總是要先把整數表示成二進位制,計算機才可以進行運算。既然計算機它總是把二進位制看作正數,那麼我們如何表示負數?答案就是,我們自己規定了一套規則把負數轉化成二進位制。這個規則就是,使用乙個數的...