목록2011/12/22 (1)
이쁜왕자 만쉐~~
C언어 잡담.. 0.1을 10번 더하면 1.0 과 다르다??
0.1 을 10번 더하면 당연히 1.0 이어야 하겠지만, 컴퓨터에서는 그렇지가 않다. 그건 아주 간단한 코딩으로 확인 해 볼수 있다. #include int main() { double a = 0.0; int i; for (i=0;i 0.0 0011 0011 0011 0011 .... (2) 실제로 0.1 을 double 로 저장하면 16진수로 보면 3FB9 9999 9999 999A 이라는 값이 된다. 이를 IEEE-754 표준을 기준으로 해서 다시 풀어서 환산해 보면, 0.100000000000000005551115123126 이 되어, 0.1 보다 아주 조금이나마 다른 값이 된다. 참고로 0.1 은 살짝 커진값으로 저장되지만, 0.3 같은 경우는 3FD3 3333 3333 3333 으로 저장되는데,..
낙서장
2011. 12. 22. 17:42