Temperature= 111.0536763866
sum 1 = 111
(double)sum 1 = 111.00000000000
그렇다면 여기서 sum 2 = 0.09999.
입니다. >따라서 while(sum2){}의 문은 다음과 같습니다. 배정밀도 값은 컴퓨터에 표시되지 않지만 컴퓨터에 무엇이 저장되는지는 신경 쓸 필요가 없습니다. 예를 들어 double a = 300은 컴퓨터에 299.999...로 저장될 수 있습니다. a = 300.2라면 300.19999999...로 저장될 수 있습니다. 따라서 우리는 저장된 내용에 신경 쓸 필요가 없으며 오류를 제거할 때 오류를 제거하기만 하면 됩니다.
오류는 어떻게 제거하나요?
예를 들어 뒤에 5를 추가합니다.
a=200.2
이 값을 꺼낼 때 직접 같을 필요는 없지만 이 방법을 사용합니다.
int b= (int)(a+0.05),
원래 값이 300.19999인 경우 계산 후 300.24999로 변경한 다음 반올림하면 목표에 도달할 수 있습니다. 300에 0.5를 더한 값인 경우, 제 개인적인 테스트 결과 컴퓨터에 저장된 값이 실제 값보다 크더라도 예를 들어 300.2222보다 크더라도 5보다 크지 않으면 잘못되지 않는다는 것을 알 수 있었습니다.