在x32和x64平台上使用.NET时,我应该注意哪些常见的数学错误?

在x32和x64平台上使用.NET时,我应该注意哪些常见的数学错误?,.net,math,clr,floating-point,largenumber,.net,Math,Clr,Floating Point,Largenumber,使用.NET执行计算时,我应该记住什么 例如,我对浮点错误略知一二,但对CodeProject的论坛帖子并不熟悉。要完成基于.NET的数学知识,我需要知道什么,以便我可以建议如何处理不同位大小的参数和结果。请始终记住,浮点存储二进制分数,即您的数字将用2^(-n)的求和序列表示,其中n是1到(尾数大小)之间的任何整数提升到某个指数N。使用十进制进行财务计算 还要记住,32位处理器上的64位字读/写不是原子的,因此不是线程安全的。一般来说,尽量不要期望共享可变状态总是可以安全读取。您需要记住,不同

使用.NET执行计算时,我应该记住什么


例如,我对浮点错误略知一二,但对CodeProject的论坛帖子并不熟悉。要完成基于.NET的数学知识,我需要知道什么,以便我可以建议如何处理不同位大小的参数和结果。

请始终记住,浮点存储二进制分数,即您的数字将用2^(-n)的求和序列表示,其中n是1到(尾数大小)之间的任何整数提升到某个指数N。使用
十进制
进行财务计算


还要记住,32位处理器上的64位字读/写不是原子的,因此不是线程安全的。一般来说,尽量不要期望共享可变状态总是可以安全读取。

您需要记住,不同的数字类型具有不同的范围:查看静态
MinValue
MaxValue
属性。如果你超过了这些范围(通过加法、乘法或其他方法),那么答案将不是你认为应该的。(数字从最大值回到最小值。)

将10除以3,然后想知道为什么拥有3个手指的外星人对你的观察结果感到困惑,即将结果乘以3不会再次产生10。你觉得这很正常。他们没有。现在用两个手指。