오븐 노트

[C++] 불리언과 부동소수점 본문

Develop/C++

[C++] 불리언과 부동소수점

오 븐 2022. 5. 11. 07:08

boolean : true or false

어셈블리에서는 bool 자체가 존재하지 않음

실수 == 부동소수점

부동 : 不x 浮o 소수점을 유동적으로 움직여서 표현하는 방법

float : 4byte (뒤에 f를 붙여줘야 인식됨)

double : 8byte

유효숫자 * 지수

float : 부호(1bit) 지수(8bit) 유효숫자(23bit) == 32bit == 4byte

double : 부호(1bit) 지수(11bit) 유효숫자(52bit) == 64bit == 8byte

ex) 2진수 변환

1) -3.375 저장

2) 3 = 0b11

3) 0.375 = (정수에서 자릿수마다 2배씩 증가하였다면 소수점에서는 자릿수마다 2배씩 감소)

0.5 * 0 + 0.25 * 1 + 0.125 * 1 = 0b0.011

4) 0b11 + 0b0.011 = 0b11.011

5) 정규화 0b11.011 * 2^1 = 0b1.1011

6) 1(부호) 1(지수) 1011(유효숫자) 지수는 unsigned byte라고 가정하고 숫자 + 127

7) 예상 결과 : 0b 1(부호) 10000000(지수) 1011000'0000'0000'0000'0000(유효숫자)

※부동소수점은 항상 근사값이다.※

수가 커질 수록 오차 범위가 커지므로 실수끼리 == 연산은 매우 위험


[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
 
C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다.
이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다.

 

모든 글은 제가 공부하기 위해 작성합니다.

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

[C++] const와 메모리 구조  (0) 2022.05.16
[C++] 비트 연산과 비트 플래그  (0) 2022.05.16
[C++] 문자와 문자열  (0) 2022.05.11
[C++] 정수  (0) 2022.05.11
[C++] 환경설정  (0) 2022.05.11