본문 바로가기
프로그래밍/C 언어(정리)

C언어] 자료형 (Data Type) - 정수(Integer) (2/7)

by 곰나나 2018. 12. 21.

[자료형 (Data Type) - 정수(Integer)]

툴 버전 : Visual Studio 2017

 

1. 정수(Integer)란?
부호는 있지만 소수점 이하를 표현하지 못하는 수이다.

(0, -26, 255) 이런 값들은 정수이며 (1.23, 2.56) 이런 값은 소수점 이하가 있으므로 정수가 아니다.

사전적 의미로 0과 자연수 그들의 음수를 말한다.

단, 컴퓨터의 메모리는 유한하기 때문에 수학적 정의와 같은 무한대의 범위를 지원하지 않는다는 정도만 다르다.

 

정수형이란 이런 정수값을 저장할 수 있는 타입이다.

컴퓨터라는 존재가 원래 정수적인 존재이고 실생활에서 가장 많이 사용되는 수이기 때문에 정수형 타입이 가장 흔하게 사용된다.

 

정수형 변수의 타입 이름은 Intefer의 앞 세자를 딴 int이다.

먼저 변수의 크기와 표현 가지수의 관계에 대해 알아보자.

값 하나를 표현하기 위해서 몇 비트를 사용할 것인가에 따라 표현 가능한 수의 개수가 달라진다.


타입

크기(바이트) 

부호

범위 

int 

4

있음

-2147483648~2147483647

short int

2

있음

-32768~32767

long int

4

있음

-2147483648~2147483647

unsigned int

4

없음

0~4294967295

unsigned short int

2

없음 

0~65535

 

도표를 보면 각 타입별로 할당된 바이트 수와 부호 여부가 다른데 이 크기와 부호 여부에 따라 표현가능한 수의 범위가 달라진다.

 

타입의 이름이 좀긴데 다음 두 가지 규칙에 의해 존 더 간략하게 표현할 수 있다.

1) 부호에 대한 수식어가 생략되면 signed가 적용되어 부호가 있는 것으로 선언된다. signed int는 int와 같고 signed short int는 short int와 같다. 그래서 signed는 보통 붙이지 않는다.

2) int 앞에 수식어가 있을 경우 int는 생략할 수 있다. 그래서 unsigned int는 unsigned로 간단하게 쓸 수 있으며 long int는 long과 같다. 부호있는 4바이트 정수형은 signed int 라고 쓰는 것이 원칙이나 signed를 생략하고 int로 쓸 수도 있고 int를 생략하고 signed로 쓸 수도 있다. 그러나 통상 signed라고 쓰지 않고 int라고 간략하게 쓰는 것이 보통이다.


2. 정수형의 길이

 C의 정수형, 더 정확하게 말해서 컴퓨터가 표현하는 정수라는 개념은 수학에서 말하는 정수와는 의미가 약간 다르다.

수학의 정수는 음양으로 무한대의 값을 표현할 수 있지만 유한한 메모리를 가진 컴퓨터는 이런 무한한 값을 표현하지 못하며 자신에게 할당된 메모리양만큼의 값만 기억할 수 있다.

그래서 가끔 연산 결과가 용량을 넘어서는 경우가 발생하기도 한다.


3. 정수형 상수

 정수형 상수를 표기하는 방법은 아주 쉽고 상식적이다.

아라비아 숫자와 부호로 직접 그 값을 표기하면 된다.

 

1.

2.

 

728x90