gpt4 book ai didi

c++ - 在具有字节序兼容性的 C++ 中将 2 字节整数转换并分解为 2 个不同的字符

转载 作者:行者123 更新时间:2023-11-28 06:34:10 31 4
gpt4 key购买 nike

我想转换一个 unsigned int 并将其分解为 2 个 uchar。

For example: 
uint16 current = 23;
uchar a[2];

我应该用文字表达,a[0] 应该包含 3 而 a[1] 应该包含 1这应该与大端和小端系统兼容。

我试过:

uint16 final = 23;
uchar a[2];
uint16 *current = (uint16 *)a;
*current = final;

但是,这有字节序问题

最佳答案

字节顺序不是问题:

uint16_t a = 23;
uint8_t b[2];
b[0] = a & 0xff;
b[1] = a >> 8;

b[0] 永远是低位字节,b[1] 永远是高位字节。

关于c++ - 在具有字节序兼容性的 C++ 中将 2 字节整数转换并分解为 2 个不同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029451/

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