C++

[C++] 정밀도 측정: std::setprecision()

sweetnew 2021. 10. 8. 23:04
반응형

자릿수 만큼 출력하는 std::setprecision() 함수는 결국 정밀도를 확인할 수 있다.

 

#include <iostream>
#include <iomanip>   // std::setprecision()

int main() {

	using namespace std;
	
	double a(1.0);
	double b(0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1);   // 오차 누적

	cout << setprecision(16);                // 16 미만의 숫자를 입력하면 '1'이 출력된다.
	cout << a << '\n';                       // 1
	cout << b << '\n';                       // 0.9999999999999999
	cout << setprecision(17) << b << '\n';   // 0.99999999999999989
	cout << setprecision(18) << b << '\n';   // 0.999999999999999889

	return 0;
}
반응형