정수형(컴퓨터 환경별로 차이가 있음)
16bit -->
short int -32,768 ~ 32,767
unsigned short int 0 ~ 65,535
int -32,768 ~ 32,767
unsigned int 0 ~ 65,535
long int -2,147,483,648 ~ 2,147,483,647
unsigned long int 0 ~ 4,294,967,295
32bit -->
short int -32,768 ~ 32,767
unsigned short int 0 ~ 65,535
int -2,147,483,648 ~ 2,147,483,647
unsigned int 0 ~ 4,294,967,295
long int -2,147,483,648 ~ 2,147,483,647
unsigned long int 0 ~ 4,294,967,295
64bit -->
short (int) -32,768 ~ 32,767 //2byte, 16bit
unsigned short (int) 0 ~ 65,535 //2byte
int -2,147,483,648 ~ 2,147,483,647 //4byte
unsigned int 0 ~ 4,294,967,295 //4byte
long (int) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 //4byte
unsigned long (int) 0 ~ 18,446,744,073,709,551,615 //4byte
long long (int) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 //8byte
unsigned long long (int) 0~18,446,744,073,709,551,615 //8byte
소수형
*C 표준은 float, double, long double 자료형이 어느 수준의 정밀성을 제공하는지 정의하지 않음
-> 각 컴퓨터마다 소수점을 저장하는 방식이 다르기 때문(밑에 기재 범위는 IEEE 소수점 표준을 따름)
float 단일 정밀도 소수점
double 2배 정밀도 소수점
long double 확장 정밀도 소수점
float
최소 양수값 : 1.17549 * 10^-38
최대값 : 3.40282 * 10^38
정밀도 : 소수점 이하 6자리
double
최소 양수값 : 2.22507 * 10^-308
최대값 : 1.79769 * 10^308
정밀도 : 소수점 이하 15자리
C99에선 소수점이 두 가지 부분으로 나뉨.
float, double과 long double은 실소수형real floating type으로 분류,
float _Complex, double _Complex, long double _Complex는 복소수형complex type으로 분류
문자형(64bit 환경 기준)
char, signed char -128~127 //1byte, 8bit
unsigned char 0~255 //1byte
*C에서 문자와 정수 간에는 상당히 밀접한 관계가 있어, 문자형 상수들은 사실상 char형이 아니라 int형으로 취급
참고 및 출처 :
C 프로그래밍: 현대적 접근
K.N.King의 유명한 책 C Programming: A Modern Approach, 2nd ed.를 한국어로 번역한 책입니다. 모든 저작권은 K.N.King에게 있습니…
wikidocs.net