- 신기한걸 발견했다. ( 사실 공부를 안해서 모든게 신기함 )
uint16_t temp = 0;
uint8_t tmp[2] = {0x00, 0xff};
temp = tmp_val[0] <<8;
temp |= tmp_val[1];
// result : temp = 00ff
- 16비트 변수에 8비트 변수 두개를 합치는 코드다.
- temp = tmp_val[0] <<8;
여기서 8비트짜리 자료형에서 쉬프트 연산이 된 후 16비트 자료형에 값이 씌워진다.
- 8비트 자료형을 벗어나는 그런 식인데 저게 또 먹힌다. 나는 당체 이해를 못하겠으니 외워야겠다.
쉽넹