본문 바로가기
C언어

%hhu %hhd 차이

by janeparker 2023. 6. 3.
728x90
반응형

 

%hhd 는 signed char 타입의 정수를 출력할 때 사용됩니다. 즉 1byte 크기의 정수를 출력할 때 사용합니다.

 

%d 👉 int. 즉 4byte(32bit) 로 표현한 정수를 출력하고자 할 때.

 

%hhd 👉 signed char. 즉 1byte(8bit) 로 표현한 정수를 출력하고자 할 때.

 

 

이런 차이가 있습니다. 

예를 들어 숫자 5 를 %d 로 출력한다면  내부적으론 32자리 비트의 0000 0000 0000 0000 0000 0000 0000 0101 로 처리되고, %hhd로 출력한다면 내부적으론  8자리 비트의 0000 0101 로 처리 됩니다. 둘 다 십진수로 변환하면  5인건 똑같기 때문에 %d 로 실행해도 결과가 동일한 것입니다. 

( 덧붙여서 char도 사실 내부적으로는 signed char 인, 즉 1byte 크기의 정수로 저장이 됩니다. char 변수를 출력할 땐 이 정수 값을 아스키 코드와 일치하는 문자로 출력해주는 것 뿐입니다.)

 

출처 : https://www.inflearn.com/questions/100429/hhd

728x90
반응형

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

비트단위 연산자 종류별 예시  (0) 2023.06.03
자료형의 크기 및 범위  (0) 2023.06.03
개행문자 r \ n, \ n, \t, \b  (1) 2023.06.03
10진수를 2진수로, 2진수를 10진수로  (0) 2023.06.03
2진수 10진수 16진수 변환  (0) 2023.01.26