본문 바로가기

공부/c언어

8진수, 16진수 변수 저장 및 화면 출력

반응형

%o 는 8진수를 출력하기위한 출력 서식이다.(octant number의 o를 따왔다.)
%x는 16진수를 출력하기위한 출력 서식이다. (hexadecimal number의 x를 따왔다.)

정수형 변수에 값을 입력할때 맨 앞에 0을 붙여주면 자동으로 8진수로 인식한다.
또한 정수형 변수에 값을 입력할때 맨 앞에 0x를 붙여주면 자동으로 16진수로 인식한다.

이때 이 변수들을 출력할때, %# 서식을 사용하지 않는다면 사용자가 판독하기 힘들다.

예를들어, 01100101 이라는 8진수 값을 어떤 변수에 입력했다고 하자.

이때 그냥 %o로 출력한다면 1100101이라고 나온다. 이렇게 된다면 이 값이 2진수인지 8진수인지 판별하기 힘들다.

그래서 나온 서식이 바로 %#o이다.

%#o서식으로 출력한다면 맨앞에 8진수라고 표시하려고 입력한 0까지 표기해준다.

%#x서식도 마찬가지이다.

반응형