본문 바로가기

C언어

[C언어] 변수(Variable) 선언하기 (정수, 8진수, 10진수, 16진수, printf)

안녕하세요, 엔지니어 블로그의 글랜입니다.

오늘은 C언어 변수 선언하기 코드 작성 및 분석 진행해보겠습니다.

 

1. 변수 선언 - 코드 작성 및 프로그램 실행 결과

 

[그림1] 변수 선언 - 코드 작성

상기 그림과 같이 코드를 작성하여 빌드 - 프로그램 실행을 진행합니다.

 

[그림2] 변수 선언 - 프로그램 실행 결과

실행 결과, "a의 값은 : 7"이라는 문장이 출력 되었네요.

 

 

2. 변수 선언 - 코드 분석

 

해당 코드를 분석해보겠습니다.

int a;

 

이 문장의 뜻은 a 라는 변수를 사용할 것이라고 컴파일러에게 알리는 의미입니다. 정확히는 int 형의 데이터를 보관한다는 의미로, a에 -2147483648에서 +2147483647 까지의 정수를 보관할 수 있게 되고, 이를 초과하는 숫자는 보관 불가능합니다. 초과하는 숫자를 보관하기 위해서는 아래의 표를 참조하여 다른 데이터 형식을 사용해야합니다.

 

Name Size Range
char 1byte signed : -128 to 127
unsigned : 0 to 255
short int 2bytes signed : -32768 to 32767
unsigned : 0 to 65535
int 4bytes signed : -2147483648 to 2147483647
unsigned : 0 to 4294967295
long int 4bytes signed : -2147483648 to 2147483647
unsigned : 0 to 4294967295
bool 1byte true or false
float 4bytes +/- 3.4e +/- 38 (~7 digits)
double 8bytes +/- 1.7e +/- 308 (~15 digits)
long double 8bytes +/- 1.7e +/- 308 (~15 digits)

 

a = 7;

위 문장의 의미는 한눈에 알아 보실 수 있듯이, 변수 a에 7을 넣는다는 의미입니다.

 

printf("a의 값은 : %d \n",a);

printf는 익숙한 함수일텐데요. 그 중 %d의 의미는 " " 다음에 오는 첫번째 변수(a)를 10진수로 출력하라는 의미입니다.

 

 

3. 2022를 8진수, 10진수, 16진수로 표현하는 코드 작성, 프로그램 실행, 코드 분석

 

그렇다면, 2022를 8진수, 10진수, 16진수로 출력하는 코드를 작성해봅시다.

 

[그림3] 코드 작성

상기 그림과 같이 코드를 작성해주고 빌드 - 프로그램 실행해봅시다.

 

[그림4] 프로그램 실행 결과

프로그램 실행 결과는 다음과 같습니다.

 

그러면 정상적으로 8진수, 16진수로 나왔는지 확인해봅시다.

http://www.hipenpal.com/tool/binary-octal-decimal-hexadecimal-number-converter-in-korean.php

 

진수 변환기 - Hi!Penpal!

2진수,8진수,10진수,16진수,32진수를 상호 변환 가능합니다.

www.hipenpal.com

직접 계산해봐도 되지만.. 귀찮으니 변환기를 통해서 확인해보면,

 

[그림5] 10진수를 8진수로 변환

2022를 8진수로 변환하면 3746이 맞네요.

 

[그림6] 10진수를 16진수로 변환

2022를 16진수로 변환하면 7e6이 맞구요.

 

이렇게 변수 선언에서 정수형, 8진수, 10진수, 16진수로 출력하는 프로그램을 확인했습니다.

다음 시간에는 실수형 변수와 printf 의 나머지 형식을 확인해보도록 할게요..!