다 – 03. 데이터 유형

데이터 유형은 변수라는 저장 위치입니다.
의 이름을 디자인하기 위한 청사진이다.

.

그만큼 변수의 저장 공간의 크기나 저장할 값을 결정하는 단어가 datatype입니다.
오전.

.

1비트는 컴퓨터 용량의 가장 작은 단위입니다.

.

1바이트는 8비트입니다.
1바이트 = 8비트

.

여기에서 다양한 데이터 유형에 대해 알아봅시다!

문자 비트 2^6 2^5 2^4 2^3 2^2 2^1 2^0
0(양수) 하나 하나 하나 하나 하나 하나 하나
1(음수) 하나 하나 하나 하나 하나 하나 하나

데이터 유형의 최소 크기는 1바이트이며 1바이트에는 8비트가 포함되므로 2^8은 256입니다.

.

그러나 비트에는 부호 비트가 있습니다.
첫 번째 비트는 부호 비트이며 1은 음수를 의미하고 0은 양수를 의미합니다.
오전.

.

1바이트가 256인 이유는 음수와 양수 범위의 비트 수가 256(-128에서 127까지, 0 포함)이기 때문입니다.

유형 데이터 형식 메모리 크기 값의 범위
정수 변수 1바이트 -128 ~ 127(2^8)
짧은 2바이트 -32768 ~ 32767(2^16)
내부 4 바이트 -2,147,483,648 ~ 2,147,483,647(2^32)
부호 없는 정수 4 바이트 0 ~ 4,294,967,295(2^32)
긴 긴 정수 8바이트 -9.223.372.036.854.775.808~
9.223.372.036.854.775.807
(2^64)
실제 변수 호버링 4 바이트 3.4*10^-37 ~ 3.4*10^38(실수)
더블 8바이트 1.7 * 10^-307에서 3.4 * 10^308(실수)

nt main()
{
    int num1;
    num = 10000000000;  // 100억
    printf("과연 얼마의 숫자가 나올까 ?  %d ", num1);
}

그렇다면 int라는 청사진을 사용하여 num1이라는 가변 메모리 공간에 100억을 넣으면 어떻게 될까요?

.

100억은 int의 청사진 범위를 벗어난 숫자이므로 100억이 나오지 않고 오류가 있거나 작은 숫자가 나옵니다.

.

그렇다면 100억을 담기 위해 어떤 종류의 데이터를 사용해야 할까요?

int main()
{
    long long int num1;
    num = 10000000000; // 100억
    printf("이번엔 잘 나올까? %d " , num1);
}

더 많이 담을 수 있는 long long int에 int를 넣으면 충분합니다.

int number2 = 1;

int number3 = 500;

int number4 = 30000;

이제 위의 코드는 -2,147,483,648에서 2,147,483,647까지의 값을 저장할 수 있는 int 유형의 변수 공간을 만듭니다.

1, 500 및 30000의 정수를 저장합니다.

그러면 숫자 2, 3, 4를 메모리에서 효율적으로 사용할 수 없습니까?

char number2 = 1;

short number3 = 500;

short number4 = 30000;

있습니다.
그만큼 디스크 공간의 효율적인 사용을 위한 데이터 유형의 중요성오전.

그런데 왜 int 데이터 유형을 더 자주 사용할까요?

.

그 이유는 데이터 액세스 속도가 빠르기 때문에 int 데이터 유형을 사용하기 때문입니다.

C 언어에서 int 유형에 액세스하는 것은 일반적으로 빠릅니다.

int는 C의 내장 데이터 유형이며 일반적으로

시스템의 아키텍처에 따라 32비트 또는 64비트 정수로 구현되기 때문입니다.

int 변수에 액세스하려면 일반적으로 단일 기계 명령이 필요하기 때문에 이것은 빠른 작업입니다.
.

또한 int 변수는 일반적으로 사용 가능한 가장 빠른 저장 위치인 CPU 레지스터에 저장됩니다.

즉, int 유형의 변수에 액세스하는 속도는 C 컴파일러의 특정 구현과 실행 중인 하드웨어에 따라 달라질 수 있습니다.

예를 들어 메모리와 컴퓨팅 성능이 제한된 마이크로컨트롤러에서

int 변수에 액세스하는 것은 고급 데스크톱 컴퓨터보다 느릴 수 있습니다.

float num1 = 3.14;

int num2 = 3.14;

printf("num1 : %f",num1);      // 3.140000

printf("num2 : %f",num2);      // 0.000000
printf("num2 : %d",num2);      // 3

그리고 실수 데이터에 int(정수) 데이터 타입을 할당하면 소수점 부분 없이 실수(정수) 부분만 저장된다.

.

%f는 실제 데이터만 출력하는 서식 문자입니다.
그러나 정수 데이터가 전달되면 0이 반환됩니다.

unsigned int myInt  =  1;
int          myInt2 = -1;

부호 없는 데이터 유형은 더 많은 긍정적인 부분을 저장할 수 있도록 데이터 유형의 부정적인 부분을 구분하는 데이터 유형입니다.

.

unsigned를 사용하려면 데이터 유형에 unsigned를 씁니다.

char myChar2 = 'AB';
printf(myChar2 : %c\n", myChar2);

char 데이터 유형은 문자를 저장할 수 있는 데이터 유형입니다.
작은 따옴표(‘ ‘)를 사용하십시오.

.

%c는 한 문자로부터 데이터를 받아 출력하는 서식 문자입니다.