(OS) 자료형, 데이터 크기 및 정수 제한 <limits>👨🏻💻 programming/◽ 운영체제2022. 7. 6. 16:34
Table of Contents
728x90
C 표준 헤더 파일 <limits.h>에 정의되어 있습니다. C++ 표준 라이브러리 헤더 <limits>에는 <limits.h>를 비롯한 <climits>가 포함
CHAR_BIT | 비트 필드가 없는 가장 작은 변수의 비트 수입니다. | 8 |
SCHAR_MIN | signed char 형식 변수의 최소값입니다. | -128 |
SCHAR_MAX | signed char 형식 변수의 최대값입니다. | 127 |
UCHAR_MAX | unsigned char 형식 변수의 최대값입니다. | 255(0Xff) |
CHAR_MIN | char 형식 변수의 최소값입니다. | –128, /J 옵션이 사용된 경우 0 |
CHAR_MAX | char 형식 변수의 최대값입니다. | 127, /J 옵션이 사용된 경우, 255 |
MB_LEN_MAX | 여러 문자 상수에서의 최대 바이트 수입니다. | 5 |
SHRT_MIN | short 형식 변수의 최소값입니다. | -32768 |
SHRT_MAX | short 형식 변수의 최대값입니다. | 32767 |
USHRT_MAX | unsigned short 형식 변수의 최대값입니다. | 65535(0xffff) |
INT_MIN | int 형식 변수의 최소값입니다. | -2147483647 - 1 |
INT_MAX | int 형식 변수의 최대값입니다. | 2147483647 |
UINT_MAX | unsigned int 형식 변수의 최대값입니다. | 4294967295(0xffffffff) |
LONG_MIN | long 형식 변수의 최소값입니다. | -2147483647 - 1 |
LONG_MAX | long 형식 변수의 최대값입니다. | 2147483647 |
ULONG_MAX | unsigned long 형식 변수의 최대값입니다. | 4294967295(0xffffffff) |
LLONG_MIN | long long 형식 변수의 최소값입니다. | -9,223,372,036,854,775,807 - 1 |
LLONG_MAX | long long 형식 변수의 최대값입니다. | 9,223,372,036,854,775,807 |
ULLONG_MAX | unsigned long long 형식 변수의 최대값입니다. | 18,446,744,073,709,551,615 (0xffffffffffffffff) |
값이 최대 정수 표현을 초과하는 경우 Microsoft컴파일러에서 오류가 발생한다.
종류 | 자료형 | 메모리 크기 (byte == 8bit) |
값의 범위 |
정수형 | char | 1 byte (2의 8승) | -128 (2의 7승) ~ 127 (2의 7승 - 1) |
int | 4 byte (2의 32승) | -2,147,483,648 (2의 31승) ~ + 2,147,483,647 (2의 31승 - 1) |
|
unsigned int | 4 byte | 0 ~ + 4,294,967,295 | |
long | 4 byte | -2,147,483,648 ~ + 2,147,483,647 | |
long long int | 8 byte | -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 |
|
short | 2 byte | - 37,768 ~ + 32,767 | |
실수형 | float | 4 byte | 유효자리수 : 7 (1.175494e-38~3.4.402823e+38) |
double | 8 byte | 유효자리수 : 16 (2.225074e-308~1.797693e+308) | |
long double | 8 byte | 유효자리수 : 16 (2.225074e-308~1.797693e+308) |
※ 여기서 항상 양수 부분에 -1이 되는 이유는 0을 포함하기 때문이다.
데이터 크기
1 BYTE(바이트) = 8 BIT
1 KB(킬로바이트) = 1024 BYTE
1 MB(메가바이트) = 1024 KB
1 GB(기가바이트) = 1024 MB
1 TB(테라바이트) =1024 GB
※ 백준 문제에서 많이 요구하는 메모리 제한 256MB는 int(8byte)를 최대 몇개 생성 할 수 있는걸까?
- 약 33,000,000개 생성 할 수 있습니다.
728x90
'👨🏻💻 programming > ◽ 운영체제' 카테고리의 다른 글
(OS) CPU 스케줄링 (0) | 2022.12.13 |
---|---|
(OS) TCP/IP, UDP 계층구조, OSI (2) | 2022.09.20 |
(OS) 네트워크 기초 (0) | 2022.09.07 |
(OS) 프로세스와 스레드 (1) | 2022.08.03 |
(OS) 운영체제와 메모리 (0) | 2022.07.29 |
@핑크코냥 :: 핑크코냥
안 하는 것 보다 낫겠지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!