본문 바로가기
C언어

8비트 2개를 16비트 uint16_t 로 변환

by janeparker 2023. 6. 29.
728x90
반응형
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비트 자료형을 벗어나는 그런 식인데 저게 또 먹힌다. 나는 당체 이해를 못하겠으니 외워야겠다.
728x90
반응형

'C언어' 카테고리의 다른 글

printf hex코드(16진수) 출력  (0) 2024.04.30
비트단위 연산자 종류별 예시  (0) 2023.06.03
자료형의 크기 및 범위  (0) 2023.06.03
%hhu %hhd 차이  (0) 2023.06.03
개행문자 r \ n, \ n, \t, \b  (1) 2023.06.03