可以将基数10的浮点数转换为等价基数2吗?

时间:2014-09-16 00:06:50

标签: floating-point floating-point-precision floating-point-conversion

给定基数为10的浮点数,例如.583 * 10 ^ 3,可以通过分别转换分数(.583)和指数将数字转换为等价基数2形式x * 2 ^ y (3)进入基地2?如果是这样我怎么能证明这一点?非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

并非所有基本10个浮点数都可以精确转换为基数2浮点数。例如,0.2可以在基数10浮点中精确表示,但不能用基数2浮点表示,其有限位数0.001100110011001100110011001100110011001100110011001101...向左舍入为0.200000000000000011102230246251565404236316680908203125

相关文章为Why can't decimal numbers be represented exactly in binary

如果您只是对近似感兴趣,可以使用各种库来为您完成此操作。例如,atof("3.14")中的C会将数字字符串转换为机器的本机浮点表示形式,您可以从中提取二进制数字。