[C++] 자료형 확인하기 - 논리, 문자,자료, 실수

목차

  1. 자료형 종류
  2. Signed Unsigned의 차이
  3. c++ 코드
  4. 자료형 바이트 확인

1. 자료형 - (논리형, 문자형, 정수형, 실수형)

64비트 환경에서의 자료형의 크기범위

  자료형 이름 크기 범위
논리형 bool 1 byte = 8비트 0~1
문자형 (signed)char 1 byte = 8비트 -128 ~ 127
unsigned char 2 byte = 16비트 0 ~ 255
정수형 (signed)short 2 byte = 16비트 -32,768 ~ 32,767
unsigned short 2 byte = 16비트 0 ~ 65,535
(signed) int 4 byte = 32비트 -2,147,483,648 ~ 2,147,483,647
unsigned int 4 byte = 32비트 0 ~ 4,294,967,295
(signed) long 4 byte = 32비트 –2,147,483,648 ~ 2,147,483,647
unsigned long 4 byte = 32비트 0 ~ 4,294,967,295
(signed) long long 8 byte = 64비트 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned long long 8 byte = 64비트 0 ~ 18,446,744,073,709,551,615
실수형 float 4 byte = 32비트 3.4E+/-38(7개의 자릿수)
double 8 byte = 64비트 1.7E+/-308(15개의 자릿수)
long double 8 byte = 64비트 1.7E+/-308(15개의 자릿수) = double과 동일

기본적으로 4가지 종류의 자료형이 있습니다.


2. Signed / Unsigned 의 차이

Signed   양수와 음수를 표현 하기 위한 자료형의 특성
Unsigned   Signed보다 더 많은 양수'만'을 위한 자료형의 특성 - 음수는 표현되지 않습니다.

3.  C++ 코드로 확인해보기

#include <iostream>
#include <typeinfo>


int main() {
	char a = 'a';
	unsigned char b = 'b';
	short c = 1;
	unsigned short d = 1;
	int e = 1;
	unsigned int f = 1;
	long g = 1;
	unsigned long h = 1;
	long long i = 1;
	unsigned long long j = 1;
	float k = 1.0;
	double l = 1;
	long double m = 1.0f;
	bool n = false;

	std::cout << ">> a << " << typeid(a).name() << ' ' << sizeof(char) << "바이트" << std::endl;
	std::cout << ">> b << " << typeid(b).name() << ' ' << sizeof(unsigned char) << "바이트" << std::endl;
	std::cout << ">> c << "  << typeid(c).name() << ' ' << sizeof(short) << "바이트" << std::endl;
	std::cout << ">> d << "  << typeid(d).name() << ' ' << sizeof(unsigned short) << "바이트" << std::endl;
	std::cout << ">> e << "  << typeid(e).name() << ' ' << sizeof(int) << "바이트" << std::endl;
	std::cout << ">> f << "  << typeid(f).name() << ' ' << sizeof(unsigned int) << "바이트" << std::endl;
	std::cout << ">> g << "  << typeid(g).name() << ' ' << sizeof(long) << "바이트" << std::endl;
	std::cout << ">> h << "  << typeid(h).name() << ' ' << sizeof(unsigned long) << "바이트" << std::endl;
	std::cout << ">> i << "  << typeid(i).name() << ' ' << sizeof(long long) << "바이트" << std::endl;
	std::cout << ">> j << "  << typeid(j).name() << ' ' << sizeof(unsigned long long) << "바이트" << std::endl;
	std::cout << ">> k << "  << typeid(k).name() << ' ' << sizeof(float) << "바이트" << std::endl;
	std::cout << ">> l << "  << typeid(l).name() << ' ' << sizeof(double) << "바이트" << std::endl;
	std::cout << ">> m << "  << typeid(m).name() << ' ' << sizeof(long double) << "바이트" << std::endl;
	std::cout << ">> n << "  << typeid(n).name() << ' ' << sizeof(bool) << "바이트" << std::endl;
	return 0;
}

각 자료형들의 바이트를 확인하기 위한 C++ 코드입니다.  C++ 도 C와 비슷함을 볼 수 있습니다.

헤더파일이나 std:cout 과 같은 내용은 다음 글에 작성할 예정입니다.

4. 실행결과

각 알파벳의 자료형들의 바이트가 표현 된 것을 볼 수 있습니다.