본문 바로가기

C++

[C++] 정수형, 불리언, 부동소수점

정수형

정수형은 가장 기본이 되는 데이터 타입으로 

int 뿐만 아니라 , boolean , float 들도 정수형으로 이루어져있다.

 

출처: 뇌를 자극하는 C++

 

위처럼 char도 문자를 담는다고 알고 있지만 1바이트 크기의 정수형 데이터 타입이다.

여기에 unsigned를 붙이면 최상위 비트가 1이더라도 항상 양수로 계산하기 때문에 두배만큼 양수쪽으로 범위가 커진다.

 

불리언

불리언은 c++에서 bool 변수이름 = true or false로 표현하는데 1바이트의 정수형이다. 그런데 이 사람이 플레이어인지

int IsPlayer = 1 or 0 으로 표현하기에는 이게 플레이어의 개수인지 헷갈린다. 그래서 가독성의 문제때문에 만들어졌다.

그렇다면 0과 1만 쓰니까 1비트만 써도 되지 않을까?라는 의문이 생기지만 보통 프로그램에서 사용하는 데이터의 최소 단위가 1바이트이기 때문에 울며 겨자먹기로 1바이트를 사용한다.

 

 

부동소수점

부동은 뜰 부와 움직일 동으로 소수점이 떠다니며 움직이는 것을 의미한다. 유효 숫자와 지수를 통해 표현한다. 

float은 부호 1비트, 지수 8비트, 유효숫자 23비트 , 총 4바이트를 사용하고

double은 부호 1비트, 지수 11비트, 유효숫자 52비트, 총 8바이트를 사용한다.

부동소수점 저장 방법은 좀 복잡하다. 지금은 부동소수점 데이터 타입은 근사값이라는 것만 기억하고 넘어가자.

'C++' 카테고리의 다른 글

[C++] 포인터 vs 배열  (0) 2022.06.21
[C++] 포인터 vs 참조(레퍼런스)  (0) 2022.06.20
[C++] 음수를 비트로 표현하는 방법(2의 보수), 진법 표현  (0) 2022.06.18
[C++] RAII  (0) 2022.06.17
[C++] weak_ptr  (0) 2022.02.24