gpt4 book ai didi

delphi - 奇怪的 Delphi 整数乘法行为

转载 作者:行者123 更新时间:2023-12-03 15:15:27 26 4
gpt4 key购买 nike

我正在研究一些古老的 Delphi 代码,但遇到了一些我不太理解的东西。

[bla is set to 130245932]

outresult := ((bla * 1103516849) + 12359);

[outresult is equal to -413953101]

两个正数相乘如何得到负数?为什么当我从方程中取出 bla 变量并直接使用整数时(像这样)

outresult := ((130245932 * 1103516849) + 12359);

我在应用程序编译之前收到错误

[DCC Error] Unit1.pas(60): E2099 Overflow in conversion or arithmetic operation

一些天才将受到赞赏。谢谢。

最佳答案

好吧,我会回答这个问题。

错误消息应该非常清楚。这里有一个整数溢出:

130245932 * 1103516849

因为 130245932 * 1103516849 = 143728580475708268 太大,无法放入 32 位整数。

关于delphi - 奇怪的 Delphi 整数乘法行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com