Combining two uint8_t as uint16_t

前端 未结 4 1652
迷失自我
迷失自我 2021-02-02 11:13

I have the following data

uint8_t d1=0x01; 
uint8_t d2=0x02; 

I want to combine them as uint16_t as

uint16_t wd =         


        
4条回答
  •  旧时难觅i
    2021-02-02 12:00

    You can use bitwise operators:

    uint16_t wd = ((uint16_t)d2 << 8) | d1;
    

    Because:

     (0x0002 << 8) | 0x01 = 0x0200 | 0x0001 = 0x0201
    

提交回复
热议问题