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

发布于 2024-09-30 12:23:04 字数 224 浏览 4 评论 0原文

使用 .NET 执行计算时应注意什么?

例如,我对浮点错误有所了解,但不熟悉这个 CodeProject 上的论坛帖子。我需要了解什么才能完成基于 .NET 的数学知识,以便我可以建议如何使用不同位大小的参数和结果。

What should I keep in mind when performing calculations using .NET?

For example, I know a little about floating point errors, but am unfamilliar with this forum post on CodeProject. What do I need to know to complete my knowledge of .NET-based math so that I can advise how to work with parameters and results of varying bit-sizes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牵你的手,一向走下去 2024-10-07 12:23:04

永远记住,浮点存储二进制分数,即您的数字将用 2^(-n) 的求和序列表示,其中 n 是从 1 到(尾数大小)的任何整数,提升到某个指数 N。使用 decimal< /code> 用于财务计算。

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

Always remember that floating point stores binary fractions, i.e. your number will be represented with a summation series of 2^(-n) where n is any integer from 1 to (mantissa size) raised to some exponent N. Use decimal for financial calculations.

Also remember that 64-bit word read/writes on a 32-bit processor are not atomic and thus are not thread-safe. More generally, try your best to not expect that shared mutable state is always safe to read.

月竹挽风 2024-10-07 12:23:04

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

You need to remember that different numeric types have different ranges: take a look at the static MinValue and MaxValue properties. If you exceed these ranges (by addition, multiplication or whatever) then the answers won't be what you think they should be. (Numbers wrap around from the maximum back to the minimum.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文