gpt4 book ai didi

lua - 如何将数字转换为有符号/无符号 16/32 位?

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

好的,所以我需要使用 udp 发送有符号/无符号 16/32 位整数。如何将 Lua 数字转换为这些类型,以便我可以逐字节写入它。我可以使用按位运算符。

我已经彻底搜索了这个问题,但我只发现了一个不能与符号一起使用的函数。

我什至找不到任何解释如何执行此操作的 Material ,因此如果有人可以给我链接一些内容,我将非常感激。

最佳答案

如果你的Lua数字在你正在编写的类型的范围内,那么就没有必要进行转换。您只需提取字节并写入它们。

假设大端(网络顺序)和 Lua 5.3:

local b16H = (x >> 8) & 0xff;
local b16L = (x ) & 0xff;
my_output(string.char(b16H, b16L));

这适用于签名和未签名。

对于 32 位

local b32HH = (x >> 24) & 0xff;
local b32HL = (x >> 16) & 0xff;
local b32LH = (x >> 8) & 0xff;
local b32LL = (x ) & 0xff;
my_output(string.char(b32HH, b32HL, b32LH, b32LL));

关于lua - 如何将数字转换为有符号/无符号 16/32 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180827/

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