자료형 개념
자료형(Data Type)은 데이터를 표현하는 방법을 의미한다.
이러한 자료형은 미리 정의되어서 우리는 자료형의 이름을 이용하여 쉽게 메모리 공간을 할당할 수 있다.
정수형
- Char(1 byte)
- short(2byte)
- int(4byte)
- long(windows- 4byte, Mac - 8byte)
- longlong(8byte)
실수형
- float (4byte)
- double(8byte)
- longdouble(8byte이상)
* 책이나 블로그에 나와있는 자료형의 크기 말고,
내 컴퓨터에 맞는 자료형의 크기를 직접 알아 보고싶은 경우 sizeof()라는 함수를 사용한다.
(window와 mac은 다른부분이 있다.)
#include <iostream>
#include <stdio.h>
//sizeof()함수로 자료형 크기 알아보기
int main(){
//정수형 데이터타입
char charValue = 'A'; //문자 하나를 저장하기 위한 데이터 타입
short shortValue = 10; //int 보다 작은 수를 저장하기 위한 데이터 타입
int intValue = 100; //가장 만만한 수를 저장하기 위한 데이터 타입
long longValue = 200; // int가 커져서 이제 잘 안쓰는 데이터 타입
long long longLongValue = 1000; //int보다 큰 수를 저장하기 위한 데이터 타입
//실수형 데이터타입
float floatValue = 10.1; //가장 만만한 실수를 저장하기 위한 데이터 타입
double doubleValue = 100.1; //float보다 큰 실수를 저장하기 위한 데이터 타입
long double longDoubleValue = 200.1; //double보다 큰 실수를 저장하기 위한 데이터 타입
printf("char의 크기 %d \n", sizeof(charValue));
printf("short의 크기 %d \n", sizeof(shortValue));
printf("int의 크기 %d \n", sizeof(intValue));
printf("long의 크기 %d \n", sizeof(longValue));
printf("longlong의 크기 %d \n\n", sizeof(longLongValue));
printf("float의 크기 %d \n", sizeof(floatValue));
printf("double의 크기 %d \n", sizeof(doubleValue));
printf("long double의 크기 %d \n", sizeof(longDoubleValue));
}
바이트(byte)
byte = 8bit이다.
>> kb(1024byte) _ 키로바이트
>> mb(1024 kbyte) _ 메가바이트
>> gb(1024 mbyte) _ 기가바이트
>> tb(1024 gbyte) _ 테라바이트
* 컴퓨터의 프로그래머 계산기를 들어가면, 해당 내용들을 쉽게 계산할 수 있다.
* 255등 프로그래머들이 외우게 되는 숫자들이 있다.(아직은 모르겠지만? 많이 쓰이는 숫자가 있는듯 하다.)
* 방치형 클리커류 게임을 만들고 싶을경우 int를 쓰면? 이제는 안된다는것을 알수있다.(byte가 작기때문에)
* 게임에서 콘솔을 타겟으로 할때는, 데이터 타입에 맞게 딱 메모리를 낭비하지 않도록 최적화 할 필요가 있다.
아스키코드(ASCII Code)
컴퓨터는 문자와 숫자를 구분하지 않고 컴퓨터만의 언어로 이해한다.
따라서 많은 사람들이 컴퓨터가 알아들을 수 있도록 개인의 규칙을 정해서 쓴다면, 소통하는것에 오류가 생길것이다.
따라서 모든 사람이 공통적으로 쓸수있는 표준규격, 아스키(ASCII: American Standard Code for information interchange)가 만들어졌다. 알파벳에 기초를 둔 문자 인코딩 방법이다.
아래는 관련 표다.
'프로그래밍 > C,C++' 카테고리의 다른 글
예제) 크리티컬 확률과 몬스터 사냥하기 feat 줄 정렬 (0) | 2023.06.02 |
---|---|
[오류_C/C++] scanf(%d,&a)에 문자를 입력할 경우 컴퓨터는 어떻게 받아들이는가? (0) | 2023.06.02 |
C 연습 예제(정수, 데이터타입, if, while) (0) | 2023.06.01 |
[예제] 삼항연산자를 이용한 가위바위보 (0) | 2023.05.31 |
[C/C++] 변수 기초 1(int, float) (0) | 2023.05.31 |