gpt4 book ai didi

使用按位运算符组合变量

转载 作者:行者123 更新时间:2023-11-30 18:02:09 25 4
gpt4 key购买 nike

我需要一个函数,它接受四个 unsigned char 变量作为参数,并将它们组合成一个 unsigned int。第一个 char 变量是 int 的第一个字节,第二个 char 变量是第二个字节,依此类推。这是我到目前为止所拥有的,它不能正常工作,在摆弄它并谷歌搜索几个小时后我不明白为什么。

uint32_t combineChar(unsigned char one, unsigned char two, unsigned char three, unsigned char four){

uint32_t com;

com = (uint32_t)one;

com = com << 8 | (uint32_t)two;

com = com << 8 | (uint32_t)three;

com = com << 8 | (uint32_t)four;

return com;

}

最佳答案

您的代码取决于字节顺序。第一个字节(uint32_t)在某些系统中位于最左边,而在某些系统中位于最右边,因此您可以按照与您想要的相反的方式存储字节。

(实际上,如果您只想要 uint32_t,那没问题。当您将其与 char[4] 或类似内容 union 时,问题就开始了)

关于使用按位运算符组合变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404921/

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