안녕하세요 ?
이번 포스팅에서는 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 > 메모리 할당 > 데이터 형식 범위 까지 와버렸네요.
그럼 좋은 하루 되세요 :)