[問題] 有關truncation error

看板Programming作者 (大笨羊)時間9年前 (2014/10/28 20:32), 編輯推噓3(304)
留言7則, 2人參與, 最新討論串1/1
最近在讀計概 有一塊地方我不是很清楚 那就是"捨位誤差"(truncation error) 比如說0.3好了(十進位) 0.01001 用定點數來看 假設8bit的數字 bit4~7表示小數 得小數部分0.1001 (二進位) 但因超過4digit( 8 digit 代表正負) 經過捨位 變成 0100 而這裡就是我想問的 第五位是1 為什麼不可以進位成0101 而是 0100 呢? 感謝回答! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.128.194.56 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1414499570.A.845.html

10/28 21:22, , 1F
這問題就像是無條件捨去法為什麼不進位
10/28 21:22, 1F

10/28 21:25, , 2F
另外如果你是用 IEEE 754 的方法表示浮點
10/28 21:25, 2F

10/28 21:25, , 3F
那小數部分應該是 .001
10/28 21:25, 3F

10/28 22:58, , 4F
有各種模式啊,ceil, floor, round
10/28 22:58, 4F

10/28 22:58, , 5F
round to nearest even, 等等.
10/28 22:58, 5F

10/28 22:59, , 6F
講truncate就是直接把尾巴去掉不進位
10/28 22:59, 6F

10/28 22:59, , 7F
講round才有要不要進位的問題
10/28 22:59, 7F
文章代碼(AID): #1KJupoX5 (Programming)