32 位 CPU 上的 Int64 实现

发布于 2024-10-03 02:46:57 字数 375 浏览 6 评论 0原文

我有一个好奇的问题。

Int64 如何为 32 位处理器实现?我可以看到三个选项

  1. 32 位处理器有某种允许 64 位算术的扩展
  2. Int64 是吗完全在 CLR 中实现,它通过使用 32 位操作来实现 64 位算术
  3. 一些 32 位处理器可以执行 64 位算术,并且 CLR 使用此逻辑。在其他处理器上,CLR 会退回到它自己的 64 位逻辑实现。

第一种情况看起来不太合理,因为它意味着 64 位处理器现在应该能够执行 128 位算术。第二个问题提出了如何有效地完成这一任务的问题。第三种方法似乎结合了两种方法的最差特征。

I have a question of curiosity.

How is Int64 implemented for 32 bit processors? I can see three options

  1. 32 bit processors have some kind of extension allowing 64 bit arithmetic
  2. Int64 is it implemented entirely in the CLR, which implements 64 bit arithmetics by using 32 bit operations
  3. Some 32 bit processors can do 64 bit arithmetic and CLR use this logic. On other processors CLR falls back to it's own implementation of 64 bit logic.

First scenario doesn't look plausible, because it implies that 64 bit processors now should be capable of doing 128 bit arithmetic. The second raises a question on how it can be done efficiently. The third looks like to unite the worst features of both approaches.

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

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

发布评论

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

评论(1

以为你会在 2024-10-10 02:46:57
  • Intel x86 处理器,如旧的 Pentium(作为 32 位处理器的示例),长期以来一直能够执行 64 位运算,甚至 128 位运算 (例如 XMMM0-XMM7)。
  • 仅使用 32 位注册表的 64 位算术有很好的记录
  • 平台CLR 的具体实现可以自由地实现上述之一,或者实现其他东西来满足要求。
  • Intel x86 processors like old Pentiums (as an example of 32 bit processor) have been capable of doing 64 bit arithmetic and even 128 bit arithmetic for a long time (XMMM0-XMM7 for instance).
  • 64 bit arithmetic using only 32 bit registries is well documented
  • platform specific implementations of the CLR are free to implement one of the above, or implement something else to satisfy the requirement.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文