c 언어 bitwise 연산자 ~, <<

uint8_t u8a = 0x5aU;

printf("0x%x",u8a); => 0x5a
printf("0x%x",~u8a); => 0xffffffa5
(이부분은 장비가16비트 일때는 fffa5 32비트 일때는 위와 같이 나타내진다)
printf("0x%x",u8a<<12U); => 0x5a000
printf("0x%x",(uint16_t)(u8a<< 12U)); => 0xa000
printf("0x%x",u8a<<28U); => 0xa0000000

0 댓글