일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 유니티
- C++문법
- unity3dservival
- c#문제
- c#
- 시샵
- c#프로그래머스기초문법
- 오블완
- 유니티3dui
- c#코테
- 유니티공부
- unity3d게임만들기
- 스파르타
- unity공부
- c# c#프로그래머스
- unity게임만들기
- 유니티게임만들기
- C#문법
- 유니티서바이벌게임만들기
- 스파르타코딩클럽
- c#기초문법
- 유니티상호작용
- 티스토리챌린지
- c#기본문법
- unity3d
- c#코딩기초트레이닝
- Unity
- c# 백준
- unity게임
- 시샵문법
- Today
- Total
나 개발자 진짜 되냐?
[ C++ 기본 문법 3 ] Boolean 과 실수 본문

정수만 있는 줄 알았는데.. 실수도 있고 불값도 있네..ㅎㅋ
공부해 보자!
Bool
즉, 참 / 거짓을 표현할 때 사용하는 친구
bool isPlayer = true;
bool isMale = false;
true는 1이고 false는 0이라 사실은 1byte 정수에 불과하다.
근데 뭐 더 편한 방법으로 ( 아마 가독성? )
bool을 사용하는 것이다.
심지어 0이랑 1 뿐이라 1비트만 쓰면 되는데..
최소단위가 1byte이기 때문에 ( 0000 0000 )
어쩔 수 없이 1바이트 불리언이 탄생하게 된다.
실수
뭐 말 그대로 소수점이 있는 수들을 말한다.
3.1415 , 0.282 등등
실수에는
float / double
이렇게 두 가지만 존재한다.
부동소수점의 경우
기본적으로
double로 되어있어서
float를 쓸 땐, 숫자 옆에 f를 써주어야 한다.
float c = 0.28f
double k = 1.01
float는 4바이트고 ( int랑 똑같소! ) double는 8바이트이다.
이 실수들을 컴퓨터에서 표현하기 위해서 우리는
부동소수점
을 사용하게 된다.
이 부동소수점의 뜻은 움직이지 않는다?라는 뜻이 아니라
오히려 움직인다 라는 뜻을 가지고 있다. 유동적인 친구라고 생각해 주면 된다.
아까 3.1415926535인 친구를 가져와보자.
이 친구를 다시 표현하면
0.31415926535 * 10으로 표현이 된다.
앞에 있는 숫자들을 유효숫자라고 표현하고
10의 지수인 1을 우리는 지수라고 표현한다.
float에서는 부호가 ( 1 ) 지수가 ( 8 ) 유효숫자 ( 23 ) = 총 ( 32 ) 비트 = ( 4 ) 바이트를 사용한다.
double에서는 부호가 ( 1 ) 지수가 ( 11 ) 유효숫자 ( 52 ) = 총 ( 64 ) 비트 = ( 8 ) 바이트를 사용한다.
바구니 크기가 두 배인 만큼 숫자도 많이 들어가기에
정교한 소수점은 double, 간단한 거면 float 사용하는 것을 권장한다.
프로그래밍을 할 때 주의해야 할 점은
부동소수점은 항상 ' 근삿값 ' 인 것 을 기억해야 한다.
이게 무슨 말이냐
1/3만 봐도 0.33333333333333333333333333
끝없이 이어지기에
어느 정도 근삿값으로 표현하게 된다.
숫자가 커지면 커질수록 이런 오차범위도 매우 커지게 되기에
근삿값인 것을 잊지 말자
실수 == 실수
이렇게 쿨하게 같다고 해버리면
이미 오차범위가 있는 친구들이기 때문에 정확하게 일치하지 않다는 것이다.
'C++을 시작해봐요! > 문법정리를 해보았어요!' 카테고리의 다른 글
[ C++ 기본 문법 5 ] 산술 연산 (0) | 2025.02.22 |
---|---|
[ C++ 기본 문법 4 ] 문자와 문자열 (1) | 2025.02.20 |
[ C++ 기본 문법 2 ] 변수 선언 (0) | 2025.02.14 |
[ C++ 기본 문법 1 ] 입력과 출력 (0) | 2025.02.14 |
C++로 코딩테스트를 보겠다고??? (1) | 2025.02.12 |