gpt4 book ai didi

c - 如何在 C 中将 4 个 int8 整数交换为 int32 变量

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

我有一个8字节的整数缓冲区来承载数据字节,还有一个32字节的变量来保存这些数据。除了使用指针之外,如何将数据字节交换到变量? (使用指针会出现一些未知问题)。

例如。

buffer[0] = 0;
buffer[1] = 1;
buffer[2] = 2;
buffer[3] = 3;

如何将 buffer[0] 转移到变量位 [31:24]buffer[1] 转移到变量位 [23:16]buffer[2] 到变量位 [15:8]buffer[3] 到变量位[7:0]

最佳答案

uint32_t variable;
buffer[0] = 0;
buffer[1] = 1;
buffer[2] = 2;
buffer[3] = 3;
variable = ((buffer[0] << 24)| (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]);

当我使用 32 位变量时,我使用的数据类型声明是 uint32_t ,请确保使用它,否则使用 uint8_t 和 uint32_t 的声明

关于c - 如何在 C 中将 4 个 int8 整数交换为 int32 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23466190/

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