/** * :author: Dan Buch (daniel.buch@gmail.com) */ #include #include int main() { float f = 0.0f; int i; for (i = 0; i < 10; i++) { f = f + 0.1f; } if (f == 1.0) { printf("f is 1.0 \n"); /* nope! */ } if (f == 1.000000) { printf("f is perhaps 1.000000?\n"); /* nope again */ } printf("f is neither 1.0 nor 1.000000\n"); printf("(f is really %.24f)\n", f); printf("OH NOES!\n"); printf("But...\n"); double difference = fabs(f - 1.000000); if (difference < 0.00001) { printf("f is close enough to 1.000000 (off by %.24f)\n", difference); /* yes? */ } return 0; } /* vim:filetype=c:fileencoding=utf-8 */