반응형
개요
C++에서 소수를 저장할 때 부동소수점 자료형을 이용한다.
상세
1/3 = 0.3333...과 같은 경우 코드 내에서 무한한 소수점을 표현할 수 없으므로 특정 자리까지만 저장하고 나머지는 손실된다. std::cout의 경우 기본 정밀도는 6으로, 소수 아래 6자리까지는 유효하고, 그 아래부터는 오차가 발생한다.
cout.precision(n)을 사용하게 되면 n자리까지 cout이 표시하게 된다. (cout << fixed를 사용하면 소수 아래만 적용)
하지만 위에서 말한 것 처럼, 모든 소수 아래 자리를 저장할 수 없기 때문에 특정 자리 이하는 오차가 발생한다.
float, double, long double(12, 16bytes)의 범위와 유효 자릿수이다.
출처
https://boycoding.tistory.com/152
반응형
'언어 > C++' 카테고리의 다른 글
[C++] string 클래스 정리 (0) | 2021.12.09 |
---|---|
이항 '<': 'const_Ty'이(가) 이 연산자를 정의하지 않거나 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다. (0) | 2021.12.02 |
sstream을 사용하여 문자열 split 하기 (C++) (0) | 2021.11.21 |
[C++ STL] vector 선언 및 초기화 (1차원, 2차원) (0) | 2021.10.03 |
명백한 호출의 괄호 앞에 오는 식에는 함수 (포인터) 형식이 있어야 합니다 오류 (0) | 2021.09.18 |