如何计算浮点数和双精度数的小数位数?

时间:2019-11-15 19:15:18

标签: floating-point double

我对编程非常陌生,在大学里,我们了解了不同类型的数字(整数,短整数,浮点数,双精度数)。浮点数和双精度数是浮点数。通常,它们由正负号,尾数和指数组成。每个部分占用一定数量的位。 浮点数最多可以显示7位小数,而最多可以显示16位。 公式是:

23·log10(2)= 23·(log(2)/ log(10))≈23·0.3≈7(浮点数的小数位)

52·0.3≈16(双精度小数位)

我知道23和52是尾数的位。但是对数从哪里来?如何计算小数位数?

1 个答案:

答案 0 :(得分:2)

23位可以表示2 23 个值。 N个十进制数字可以表示10 N 个值。

计算可以代表23位相同值的十进制数字的数量减少了对方程中N的求解:

2 23 = 10 N

log(2 23 )= log(10 N

23 * log(2)= N * log(10)

N = 23 *(log(2)/ log(10))

当然,您不能使用小数位或十进制数字,因此必须根据结果的使用方式向上或向下取整。