[請益] 請教AutoCAD 1.255問題

看板Cad_Cae作者 (jason)時間8年前 (2016/05/24 14:48), 8年前編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/3 (看更多)
小弟最近發現一個問題 問題如下 (< (* 100 1.255 ) 125.5) → T ???? (= (* 100 1.355 ) 135.5) → T ???? 1.255乘100小於125.5 1.355甚至其他數都不會有這個問題 驗算後發現以下問題 (setq a (+ (* 100 2.255) 0.50)) → 226.0 (setq b (- 226 a)) → 0.0 感覺沒什麼問題 但以下卻不一樣 (setq a (+ (* 100 1.255 ) 0.50)) → 126.0 (setq b (- 126 a)) → 1.42109e-014 到底是為什麼??? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.128.158.146 ※ 文章網址: https://www.ptt.cc/bbs/Cad_Cae/M.1464072500.A.843.html ※ 編輯: comelin99 (220.128.158.146), 05/24/2016 14:48:50 ※ 編輯: comelin99 (220.128.158.146), 05/24/2016 16:57:33

05/24 23:56, , 1F
浮點運算精度問題吧,隨便找本計算機概論,裡面都會寫
05/24 23:56, 1F

05/25 01:28, , 2F
可是我今天要寫程式 遇到1.255數值不就毀了.. 還是有
05/25 01:28, 2F

05/25 01:28, , 3F
什麼解決方法
05/25 01:28, 3F

05/26 23:18, , 4F
不會毀了.就是精度的問題. 判斷相等的話.有另外的函數
05/26 23:18, 4F

05/26 23:18, , 5F
可用
05/26 23:18, 5F

05/26 23:21, , 6F
我都用(equal a b 精度值) 比如.(equal a b 0.01) 去判
05/26 23:21, 6F

05/26 23:21, , 7F
別..
05/26 23:21, 7F
文章代碼(AID): #1NG_aqX3 (Cad_Cae)
文章代碼(AID): #1NG_aqX3 (Cad_Cae)