본문 바로가기
프로그래밍/C

[C언어] 정수 자료형( 크기 및 범위, 최솟값과 최댓값 표현, 오버플로우, 언더플로우, 크기가 표시된 정수 자료형 ) / 실수 자료형( 최솟값과 최댓값 표현, 오버플로우와 언더플로우 ) / 자료형 ..

by B T Y 2017. 10. 9.
반응형

[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 표현식 형식으로 사용










반응형

댓글