프로그래밍 언어/C++

[C] 자료형 - 정수/실수

ShovelingLife 2023. 9. 9. 14:22

자료형이란?

메모리에 데이터가 저장되는 형식이다.

자료형마다 메모리 공간을 다르게 할당되는데, 예를 들어 int의 경우 4byte, char의 경우 1byte 이다.

 

자료형에는 정수형과 실수형으로 나눠진다.

정수형에는 char, short, int, long 이 존재하고 실수형에는 float, double, long double이 존재한다.

참고 : bit 와 byte

1byte는 8bit를 나타낸다.

종종 컴퓨터보면 32bit, 64bit로 나눠지는것을 본적이 있다.

이는 CPU가 한번에 처리하는 비트의 수로 32bit는 한번에 32개의 bit를 처리하고, 64bit 64개의 비트를 처리한다.

위의 1011 0010의 binary 표현은 10진수 178을 나타낸다. 위 그림은 계산 방법이다.

사용 범위 - 정수형

char : 1byte(8bit) : -128 ~ 127

short : 2byte(16bit) : -32768 ~ 32767

int : 4byte(32bit) : -217483648 ~ 2147483647

long : 4byte(32bit) : -217483648 ~ 2147483647

#include <stdio.h>
// 각각의 데이터 타입의 최대값 최소값을 알려주는 헤더
#include <limits.h>
 
int main(void) {
    
    // limits.h 헤더 덕분에 MIN, MAX를 사용할 수 있다.
    printf("char : %d ~ %d", CHAR_MIN, CHAR_MAX);
    printf("\n");
 
    printf("short : %d ~ %d", SHRT_MIN, SHRT_MAX);
    printf("\n");
    
    printf("int : %d ~ %d", INT_MIN, INT_MAX);
    printf("\n");
 
    printf("long : %d ~ %d", LONG_MIN, LONG_MAX);
    printf("\n");
 
    return 0;
}

사용 범위 - 실수형

float : 4byte 1.175494e-38 ~ 3.402823e+38

double : 8byte : 2.225074e-308 ~ 1.797693e+308

long double : 8byte : 2.225074e-308 ~ 1.797693e+308

#include <stdio.h>
// 정수의 경우에는 limits.h 헤더파일을 이용했지만,
// 실수는 float.h 헤더파일을 이용한다.
#include <float.h>
 
int main(void) {
 
    printf("float : %e ~ %e", FLT_MIN, FLT_MAX);
    printf("\n");
    
    printf("double : %e ~ %e", DBL_MIN, DBL_MAX);
    printf("\n");
 
    printf("long double : %e ~ %e", LDBL_MIN, LDBL_MAX);
    printf("\n");
 
    return 0;
}

 

C언어 :: 자료형 - 정수형, 실수형 #6 - IT에 취.하.개. (tistory.com)