[C언어] 정수 자료형( 크기 및 범위, 최솟값과 최댓값 표현, 오버플로우, 언더플로우, 크기가 표시된 정수 자료형 ) / 실수 자료형( 최솟값과 최댓값 표현, 오버플로우와 언더플로우 ) / 자료형 크기 구하기에 대해서 정리한다.
정수 자료형
- 소수점 이하 자리가 없는 숫자
정수 자료형의 크기 및 범위
정수 자료형의 오버플로우와 언더플로우
- 변수에 저장할 수 있는 범위보다 값이 작아지면 다시 최댓값부터 시작하는 언더플로우가 발생하고
반대로 저장할 수 있는 범위보다 값이 커지면 오버플로우가 발생해 최솟값부터 다시 시작하게 된다.
- 부호 있는 정수에 오버플로우가 발생하면 최솟값(음수)부터 다시 시작,
언더플로우가 발생하면 최댓값(양수)부터 점점 작아진다.
- 부호 없는 정수에 오버플로우가 발생하면 0부터 다시 시작, 언더플로우가 발생하면 최댓값부터 점점 작아진다.
정수 자료형의 최솟값과 최댓값 표현
- <limits.h> 파일을 include 해준다.
- 자료형_MAX로 최댓값을 구하고 자료형_MIN으로 최솟값을 구할 수 있다.
( 부호 없는 자료형의 최솟값은 0으로 적어주고 최댓값은 U자료형_MAX 형식으로 사용한다 )
크기가 표시된 정수 자료형
- <stdint.h> 파일을 include 해준다.
- 변수를 선언할때 비트 단위로 크기를 선언해준다.
( 예를 들면 int8_t num1과 같이 8비트 크기의 부호 있는 num1이라는 변수를 선언했다 )
- 8, 16, 32, 64비트로 크기를 표시할 수 있고 부호가 없는 변수를 선언할때는 자료형 앞에 u를
붙여준다는 차이점만 있다.
실수 자료형
- 소수점 이하 자리가 있는 숫자
- float(4byte), double(8byte), long double(8byte)
- 실수는 부동소수점 방식으로 저장
- 유효자릿수만큼만 실수의 자릿수를 표현할수 있다.
지수 표기법
- 정수 부분은 한 자릿수만 적고, 소수 자릿수 뒤에 e와 지수를 표기한다.
( 예를 들어서 2.1e+3이라면 2100이고 2.1e-2라면 0.021이다 )
실수 자료형의 최솟값과 최댓값 표현
- float.h 파일을 include 해준다.
- 정수에서 사용하는 표현방식과 마찬가지로 같은 형식이다.
( float는 FLT, double은 DBL, long double은 LDBL을 사용하고 뒤에 MIN 또는 MAX가 붙는다 )
실수 자료형의 오버플로우와 언더플로우
- 실수는 오버플로우가 되면 무한대(INF)가 되고 언더플로우가 되면 0 또는 쓰레기값으로 처리한다.
( 양수 최댓값에서 오버플로우가 되면 +INF가 되고 최솟값에서 언더플로우가 되면 0 또는 쓰레기값이 되고
음수 최댓값에서는 오버플로우가 되면 -INF가 되고 최솟값에서 언더플로우가 되면 0또는 쓰레기값이 된다 )
자료형 크기 구하기
- sizeof
- 자료형의 크기를 바이트 단위로 구하는 연산자
- 자료형의 크기를 구할때는 sizeof(자료형) 형식으로 사용
- 표현식의 크기를 구할때는 sizeof(표현식) 혹은 sizeof 표현식 형식으로 사용
'프로그래밍 > C' 카테고리의 다른 글
[c언어] 반복문( for, while, do.. while ) / 반복문 제어( break, continue ) (0) | 2017.10.13 |
---|---|
[c언어] 조건문( if ) / 비교 연산자, 삼항 연산자 / 논리 연산자 / bool 자료형 / 비트 연산자 / 연산자 우선순위 / switch문 (0) | 2017.10.12 |
[C언어] 문자 자료형 / 상수 / 입력( scanf ) / 증감 연산자 / 자료형 확장, 축소 (0) | 2017.10.12 |
[C언어] 기본문법 / 변수 (0) | 2017.10.09 |
[C 언어] 함수, 배열, 포인터 (0) | 2017.06.02 |
댓글