C++에서 부동 소수점 다루기
부동 소수점이란?
부동 소수점은 컴퓨터에서 실수를 표현하는 방식입니다. 이 방식은 과학적 표기법을 사용해 매우 크거나 작은 수를 효율적으로 표현할 수 있게 해줍니다. 예를 들어, 123.45는 부동 소수점으로 1.2345×102로 표현됩니다.
C++에서는 주로 float와 double 타입을 사용하여 부동 소수점 수를 표현합니다. float는 4바이트를 사용하고, double은 8바이트를 사용하여 더 큰 범위와 정밀도를 제공합니다.
float의 경우 접미사 f를 붙혀주어야 합니다.
C++에서는 주로 float와 double 타입을 사용하여 부동 소수점 수를 표현하며, 이들 각각은 서로 다른 정밀도를 가집니다.
부동 소수점의 정밀도
1. float
- 32비트를 사용합니다.
- 대략 6-7자리의 십진수 정밀도를 가집니다.
- 예: 3.14159는 float으로 근사적으로 표현할 수 있지만, 더 많은 자릿수는 정확도를 잃을 수 있습니다.
2. double
- 64비트를 사용합니다.
- 대략 15-16자리의 십진수 정밀도를 가집니다.
- 예: 3.141592653589793는 double로 상당히 정확하게 표현할 수 있습니다.
정밀도 예제
부동 소수점의 정밀도를 이해하기 위한 몇 가지 예제를 살펴보겠습니다.
float와 double의 기본 정밀도 차이를 보여주는 예제입니다.
위 예제의 결과를 보면 float과 double의 정밀도 차이가 명확히 보입니다. float의 경우 double에 비해 반 정도 정밀도가 낮기에 7자리 이후의 값이 제대로 표현되지 않는 것을 알 수 있습니다.
기본적으론 위 내용을 토대로 활용하시면 됩니다. 하지만 부동 소수점은 위 내용이 전부가 아닌 의외로 복잡한 메커니즘에 의해 계산이 됩니다. 아래의 링크를 참고해보시면 도움이 되실 것 같네요.
https://ko.wikipedia.org/wiki/%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%98%EC%A0%90
'프로그래밍 > c++' 카테고리의 다른 글
c++ 05. bool 자료형 (1) | 2024.01.03 |
---|---|
c++ 04. 문자와 문자열 (0) | 2024.01.02 |
c++ 2. 데이터 타입(자료형) 정수 (0) | 2023.09.22 |
c++ 01. 변수 (0) | 2023.09.16 |
c++ 입력 std::cin (0) | 2023.08.31 |
댓글