gpt4 book ai didi

delphi - 在delphi中将十六进制字符串转换为十进制值

转载 作者:行者123 更新时间:2023-12-03 14:45:12 25 4
gpt4 key购买 nike

我在使用 Delphi 将十六进制值的字符串表示形式转换为整数值时遇到问题。

例如:

$FC75B6A9D025CB16 give me 802829546 when i use the function:

Abs(StrToInt64('$FC75B6A9D025CB16'))

但是如果我使用Windows中的计算程序,结果是:18191647110290852630

所以我的问题是:谁是对的?我,还是计算器?

有人遇到过这样的问题吗?

最佳答案

事实上,802829546 这里显然是错误的。

Calc 返回 64 位无符号值 (18191647110290852630d)。

Delphi Int64 类型使用最高位作为符号:

Int := StrToInt64('$FC75B6A9D025CB16');
Showmessage(IntToStr(Int));

返回正确的值-255096963418698986

如果您需要使用大于 64 位有符号的值,请查看 Arnaud's answer here .

关于delphi - 在delphi中将十六进制字符串转换为十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841972/

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