1樓:譚耀程
問題的關鍵在於商是向負無窮取值還是向0取值 -7/10=0....-7
or -7/10=-1....3
其他語言我不清楚,貌似c11規定向0取值
2樓:
就算是相同語言不同編譯器也會不一樣的。
在我發現這個問題之後,每當我更新IDE/編譯器的時候都會用我的測試程式跑一遍,看看是不是和上個版本有什麼不同。
有的時候一些小改動很坑的。
PS:有時候也不行,不能保證測試結果是唯一的。
3樓:
說的好像各個程式語言內部是統一的一樣。。
請題主先把cl、gcc、clang、cmake、tc等實現的各主要版本都實驗一遍。。
4樓:tefx
數學上都正確,這個定義本來就有好幾個
比如按或者按
IEEE標準是則是,然而round標準也有好幾個。。。
如果round是IEEE預設的round to the nearest,從標準的角度似乎應該是3。。。但IEEE好像也沒說其他的round標準不對。。。
PS:很多語言乾脆提供了兩個函式,rem和mod
程式語言中的取余是如何實現的
各種語言裡面的演算法不完全一樣。有的語言支援任意精度整數,難道它也用跟C同樣的演算法計算餘數?另外各種語言裡面關於負數的處理也不一樣。對於除數固定 編譯時已知 的取餘操作,編譯器完全可以把它優化掉,具體優化成什麼,你隨便拿個C編譯器試試就知道了。特別對於Hash表這種,使用2的整數冪大小還是比較常見...
如何想自學計算機程式設計,有什麼程式語言的意見?
雲鶴 想學程式設計,你要知道你學程式設計是來幹嘛的,並且你需要對計算機程式設計術語有基本的了解。對任何一種程式語言有基本的了解將有助於您理解程式設計概念,並有助於加快您的學習進度。Python語言語法簡潔易學,用途廣泛,可移植性強,底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C 寫的,執行...
為什麼很多程式無法計算負數的立方根?
賀師俊 因為大多數程式語言的浮點數格式和相關運算遵循 IEEE 754 標準。IEEE 754 規定了 pow x,y 運算在 x 為 finite 即不是正負無窮大和NaN 且 x 0,而 y 是 finite 且不是整數時,返回 NaN。由於 IEEE 754 標準文字是需要收費購買的,所以我也...