数学:对数和整数

本文关键字:整数 数学 | 更新日期: 2023-09-27 18:09:01

var result = Math.Log(1000, 10);
var diff = result - 3;

diff是关于-4x10^-16的。

根据我的理解,确切的值3可以存储在双精度体中:

3 (base 10) = 1.1x10^1 (base 2)

我错了吗?或者这是否意味着Math.Log不准确,至少值1000?

数学:对数和整数

我建议在这种情况下使用Math.Log10

var result1 = Math.Log(1000, 10); //result1: 2.9999999999999996
var result2 = Math.Log10(1000);  //result2: 3