c 정수 자료형

떵떵·2022년 5월 14일
0

c는 다양한 형태의 자료형을 제공한다.
그 중 원하는대로 '부호 키워드'와 '크기 키워드'를 붙여서 특성을 정의할 수 있다.

부호 키워드

signed

unsigned

부호 키워드는 위의 2가지가 있다.

signed

signed는 마이너스(-)부호가 붙을 수 있는 부호로 음수를 표현할 수 있다.

또한 코딩에 표현할 때
signed
signed int
int

등 모두 똑같은 자료형이다.

unsigned

unsigned는 크기의 범위에서 음수의 범위만큼 양수의 범위를 늘려주는 키워드로 숫자에 마이너스(-)부호가 붙을 수 없고, 항상 플러스라는 의미이다.

또한 코딩에 표현할 때
unsigned int [변수];
unsigned [변수];

2가지 모두 표현 가능하다.

unsigned 형식지정자

unsigned int, long, long long을 사용시 형식지정자는
%d가 아니다.

unsigned int -> &u

unsigned long -> &lu

unsigned long long -> &llu

크기 키워드

short

long

크기 키워드는 위의 2가지가 있다.

short

short는 크기 키워드로서 short로 지정하면 2바이트 만큼 저장 가능하다.

long

long은 크기 키워드로서 long으로 지정하면 4바이트 만큼 저장 가능하다.

long이 4바이트를 지원하기 떄문에 int와 long이 같다고 생각할 수 있지만 하드웨어에 따라 int의 크기가 더 클 수 있다.

long long

long long은 위의 long의 2배인 것으로 8바이트 만큼 저장 가능하다.

long, int 차이점

C언어는 int형을 "CPU의 레지스터와 동일한 크기를 가지는 타입"으로 정의하며 레지스터란 CPU 내의 임시 기억 장소로서 레지스터의 크기에 따라 CPU의 비트 수를 정의한다. 즉 레지스터가 16비트이면 16비트 컴퓨터, 32비트면 32비트 컴퓨터에 속한다.

int형은 CPU마다 효율적인 크기로 지정되어 있으며 하드웨어에 따라 int형의 실제크기는 달라진다

정수형 서식지정자

정수형은 서식지정자로 %d를 쓰는 것은 다 알 것이다.
하지만 코딩을 하고 찾다보면 %ld나 %lld를 써야 오류가 안나는 것을 볼 수 있다.

%d

d = 10진수(decimal)의 약어로 d를 사용한다.

%ld

ld = long decimal의 첫 글자를 따서 ld를 사용한다.

자료형을 long으로 정의하였을 경우 %ld를 사용한다

%lld

lld = long long decimal의 첫 글자를 따서 lld를 사용한다.

자료형을 long long으로 정의하였을 경우 %lld를 사용한다.

0개의 댓글