Re: [請益] 請教AutoCAD 1.255問題

看板Cad_Cae作者 (sjgau)時間8年前 (2016/05/25 10:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
分享個人的經驗 整數的運算結果,絕對沒有誤差。 浮點數的運算結果,一定會有誤差。 double x= 123.456; 儲存在 x 裡面的二進位表示,分別為 一個bit, 表示x的 +/- 11 個bits, 表示x 的二進位次方的數量級 52個bits , 表示 x 的 0.5 - 1.0 的精確度部分 也就是說, 123.456 --> a*b*(2^c) a, b, c 是二進位, 浮點數的比較運算,不能夠直接 if (x == y) then . . . 必須改成 if (rel_diff(x, y) < delta) then . . . rel_diff() 是求 x, y 的相對誤差, rel_diff(x, y) 會等於 abs_diff(a, y)/(max(abs(x), abs(y))) abs_diff(x, y)= abs(x - y); abs(x) 是計算 x 的絕對值 delta 的值,大概是 (10^-14) -- e-mail: sjgau4311@gmail.com 我的課程介紹網頁: http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18 AutoCAD 台灣地區菁英講師獲選 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.195.32 ※ 文章網址: https://www.ptt.cc/bbs/Cad_Cae/M.1464142257.A.DFE.html

06/07 12:54, , 1F
感謝大大~這邊高手好的
06/07 12:54, 1F
文章代碼(AID): #1NHGcnt- (Cad_Cae)
文章代碼(AID): #1NHGcnt- (Cad_Cae)