gpt4 book ai didi

lua - 十六进制到 int32 值

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

我目前正在尝试将一个十六进制字符串转换成它的值,作为一个带符号的整数。

示例:

0000000E - 14
FFFFFFF2 - -14

因此:将值转换为无符号值很容易:

print(tonumber("0000000E", 16)) // outputs 14

负值可以这样解析:

num = tonumber("FFFFFFF2", 16)
print(4294967296 - num - num)

但不幸的是,我需要检测 MSB 是否设置为此工作。如果我的 lua 实现支持 Bit-Library,这将很容易,但不幸的是情况并非如此。

那么:如何将带符号的十六进制整数转换为 LUA 数?

最佳答案

最好的答案可能来自 Egor 的评论:

num = (tonumber("FFFFFFF2", 16) + 2^31) % 2^32 - 2^31

关于lua - 十六进制到 int32 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37411564/

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