32 位定点溢出

发布于 2024-10-19 22:50:02 字数 319 浏览 2 评论 0原文

我正在 32 位 Windows PC 上进行一些“早期计算”,并研究其限制。

现在,2**32 是 4,294,967,296,我发现这

4294967290 + 5  

完全没问题,而且

    4294967290 + 6 

完全可以溢出。

让我困惑的是

   429496729 * 10

,尽管产品 4294967290 在范围内,但还是溢出了。

有人感兴趣吗?

I'm doing some 'early computing' on a 32-bit Windows PC, and looking at the limits.

Now, 2**32 is 4,294,967,296, and I find that

4294967290 + 5  

is perfectly OK, and

    4294967290 + 6 

quite properly overflows.

What puzzles me is that

   429496729 * 10

overflows, although the product, 4294967290, is in range.

Anyone interested?

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

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

发布评论

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

评论(1

巨坚强 2024-10-26 22:50:02

在没有任何代码的情况下,我猜 429496729 会隐式键入为有符号整数,而 4294967290 就太多了。

In the absense of any code, I'd guess 429496729 gets implicitly typed as signed integer, for which 4294967290 is too much.

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