컴퓨터 공학/CS

[CS] 데이터 형식 범위

James Kim_ 2025. 3. 14. 15:55

안녕하세요 ?

이번 포스팅에서는 C++ 데이터 형식의 범위에 대해 다룹니다.

언어마다 형식이름은 약간 다를 수 있지만, Byte와 값의 범위는 동일합니다.

 

C/C++ 데이터 타입 테이블

이름  바이트(byte) 기타 이름 값의 범위
int 4 signed -2,147,483,648 ~ 2,147,483,647
unsigned int 4 unsigned 0 ~ 4,294,967,295
__int8 1 char -128 ~ 127
unsigned __int8 1 unsigned char 0 ~ 255
__int16 2   -32,768 ~ 32,767
unsigned __int16 2 unsigned short, unsigned short int 0 ~ 65,535
__int32 4   -2,147,483,648 ~ 2,147,483,647
unsigned __int32 4 unsigned, unsigned int 0 ~ 4,294,967,295
__int64 8 long long, signed long long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned __int64 8 unsigned long long 0 ~ 18,446,744,073,709,551,615
bool 1 없음 false 또는 true
char 1 없음 -128 ~ 127(기본값), /J를 사용하여 컴파일된 경우 0 ~ 255
signed char 1 없음 -128 ~ 127
unsigned char 1 없음 0 ~ 255
short 2 short int, signed short int -32,768 ~ 32,767
unsigned short 2 unsigned short int 0 ~ 65,535
long 4 long int, signed long int -2,147,483,648 ~ 2,147,483,647
unsigned long 4 unsigned long int 0 ~ 4,294,967,295
long long 8 없음(그러나 __int64와 동일) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned long long 8 없음(그러나 unsigned __int64와 동일) 0 ~ 18,446,744,073,709,551,615
enum 다양함 없음  
float 4 없음 3.4E +/- 38(7자리 숫자)
double 8 없음 1.7E +/- 308(15자리 숫자)
long double 8 없음 double과 같음
wchar_t 2 __wchar_t 0 ~ 65,535
       

 

double에서 1.7E +/- 308(15자리 숫자)  308은 지수, 

- 3.4x10^38 ~ + 3.4x10^38 값의 범위죠

 

15자리 숫자는 소숫점 아래 유효숫자를 의미합니다.

0.123456789012345 까지 유효숫자를 나타낼수 있다는 것이죠

 

 

OpenGL > Texture > Vertex Attribute > 메모리 할당 > 데이터 형식 범위 까지 와버렸네요.

그럼 좋은 하루 되세요 :)