gpt4 book ai didi

c++ - 两个字符的 Endian 安全转换为 unsigned short

转载 作者:行者123 更新时间:2023-11-28 06:24:26 25 4
gpt4 key购买 nike

我正在使用一个函数,该函数采用两个 char 作为参数,代表一个无符号的 16 位整数。我需要将这些值转换回无符号整数,并且我希望该方法是字节序安全的。我想出了下面的方法,但我想知道是否有更好的方法。我使用的是 Qt,因此最终值存储在 quint16 中。

char msb; // most significant byte
char lsb; // least significant byte
quint16 value = ((msb & 0xff) << 8) | (lsb & 0xff);

最佳答案

您可以使用 <QtEndian>功能。在您的情况下,您可以使用 qFromLittleEndian。它是一个模板函数,因此您不需要将字符传递给函数,只需将 quint16 传递给函数,它将返回该 quint16 的主机端版本。响应时,您可以调用 qToLittleEndian。

关于c++ - 两个字符的 Endian 安全转换为 unsigned short,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28755173/

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