我很难理解为什么有些数字不能用浮点数来表示。
正如我们所知道的,正常的浮点数应该有符号位、指数和尾数。例如,为什么0.1不能在这个系统中准确地表示;我认为它的方式是你把10 (1010 in bin)放到尾数上,把-2放到指数上。据我所知,这两个数字都可以用尾数和指数准确地表示出来。那么为什么我们不能准确地表示0.1呢?
我希望能够在Log10和Abs上对C#中的decimal类型(128位)进行操作,而不希望转换为double (64位),从而失去精度。由于标准的System.Math方法只接受double,我如何实现这一点?示例:decimal LogResult = Math.Log10(x); // only works with doubles
decimal