看板 Programming 關於我們 聯絡資訊
最近在讀計概 有一塊地方我不是很清楚 那就是"捨位誤差"(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
s25g5d4: 這問題就像是無條件捨去法為什麼不進位140.117.205.159 10/28 21:22
s25g5d4: 另外如果你是用 IEEE 754 的方法表示浮點140.117.205.159 10/28 21:25
s25g5d4: 那小數部分應該是 .001140.117.205.159 10/28 21:25
bxxl: 有各種模式啊,ceil, floor, round118.160.221.192 10/28 22:58
bxxl: round to nearest even, 等等.118.160.221.192 10/28 22:58
bxxl: 講truncate就是直接把尾巴去掉不進位118.160.221.192 10/28 22:59
bxxl: 講round才有要不要進位的問題118.160.221.192 10/28 22:59