编程之美 精确表达浮点数

假设浮点数为 X 的表示形式为 

X = 0.a1a2...an (b1b2...bm)

那么 10^N * X = a1a2...an.(b1b2...bm)

同时, 令 Y = 0.(b1b2...bm)

那么 Y*10^M = b1b2...bm(b1b2...bm)

得到等式 Y*10^M - b1b2...bm = Y, 可以解出 Y

将 Y 带入 10^N*X 可解出 X

posted @ 2013-12-19 12:13  SangS  阅读(260)  评论(0编辑  收藏  举报