回覆列表
  • 1 # 聯名工作室3號

    因為pai小於π,所以360度轉換出來的弧度值小於2π,於是sin(hudu)變成了一個接近於0的負數。經測試,c=0.99999999998591693d=-5.3071795866867667e-006所以取四位小數時,c=1.0000d=-0.0000對無理數,電腦是近似運算,這應該沒什麼關係。如果你一定要去掉這個負號,就先將d的絕對值與一個足夠小的數比較,如果小於這個數,就認為d是0,然後把0賦給d就是了。

  • 2 # BAT攻城獅老李

    你好,你說的是函式呼叫返回值為負數吧,如果是main函式說明程式執行失敗,如果是非main函式則說明函式呼叫失敗,不管是函式呼叫失敗,還是程式呼叫失敗,新增對應的異常處理即可。

  • 3 # 遛電子的老李

    定點運算不會出現負0,0是唯一的。

    你說的情況是浮點運算的時候才會出現,這是計算的舍入誤差導致的,其實-0不是0,是一個很小的負數。

    你用這個數作四則運算是沒有任何問題的。問題是你用這個數做大小判斷才會出問題,浮點數判斷a和b是否相等,要用它們的差的絕對值和epsilon比較大小。

    如果fabs(a-b)<EPSILON,那麼a和b相等。有些編譯器可能沒有定義EPSILON,你可以把EPSILON定義為你認為2個數相等時候的最大誤差。

  • 中秋節和大豐收的關聯?
  • 我在工地包活兒,我的帶班請的小工摔了,我需要承擔多少責任?