-1
我有兩個字節變量,我想顛倒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);
}
我得到的錯誤衝突的類型for reverseByte在函數的第一行。
我該如何糾正它?我知道代碼遠沒有優雅,我只需要一個快速修復。
謝謝!
不直接相關,但在初始化之前使用'revb'。 –
並在哪一行__exactly__中得到錯誤?請閱讀:[mcve]。 –
您是否在使用它之後聲明瞭該功能? –