gpt4 book ai didi

c - 反转两字节长变量中的一个字节

转载 作者:行者123 更新时间:2023-11-30 19:33:36 25 4
gpt4 key购买 nike

我有一个两字节变量,我想在其中反转 MSB 字节的位。

我正在使用此函数来反转字节:

uint8_t reverse_bits(uint8_t a){

return ((a & 0x1) << 7) | ((a & 0x2) << 5) |
((a & 0x4) << 3) | ((a & 0x8) << 1) |
((a & 0x10) >> 1) | ((a & 0x20) >> 3) |
((a & 0x40) >> 5) | ((a & 0x80) >> 7);
}

我编写了这个函数来接收变量并反转第二个字节:

uint16_t reverseByte(uint16_t b){

uint16_t b0 ;

uint16_t b1 ;
uint8_t revb;
uint8_t retb ;
b0 = b & 0x00FF;
b1 = b & 0xFF00;
revb = b1 >> 8;
retb = reverse_bits(revb);
b1 = retb;
b1 = b1 << 8;

return (b1 + b0);
}

我在函数的第一行收到错误reverseByte 的类型冲突

我该如何纠正它?我知道代码远非优雅,我只需要一个快速修复。

谢谢!

最佳答案

问题出在函数的声明中。我在声明之前就使用了它,至少就我而言是这样。

我也初始化了局部变量以消除警告

感谢您的提示。但我不明白投票被否决。

关于c - 反转两字节长变量中的一个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234775/

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