#include #include int main(int argc, char** argv) { float f = 0.1234567890123456789; double d = 0.1234567890123456789; int a = 20; int b = 6; double c_wrong = a / b; double c_right = (double)a / (double)b; printf("float is %d bytes\n", (int)sizeof(float)); printf("double is %d bytes\n", (int)sizeof(double)); printf("\n"); printf("f = %.20g\n", f); printf(" ^ wrong digits start here for float\n\n"); printf("d = %.20g\n", d); printf(" ^ wrong digits start here for double\n\n"); printf("c_wrong is %g\n", c_wrong); printf("c_right is %g\n", c_right); printf("\n"); printf("sqrt(2.25) is %g\n", sqrt(2.25)); printf("sqrt(-1) is %g\n", sqrt(-1)); printf("\n"); printf("sin of 45 deg is %g\n", sin(45 * M_PI / 180)); printf("arcsin of %g is %g deg\n", M_SQRT1_2, asin(M_SQRT1_2) * 180 / M_PI); printf("arcsin of 10 is %g\n", asin(10)); printf("\n"); printf("log of e^3 is %g\n", log(M_E * M_E * M_E)); printf("log of -1 is %g\n", log(-1)); printf("\n"); printf("floor(2.2) is %g\n", floor(2.2)); printf("ceil(2.2) is %g\n", ceil(2.2)); printf("\n"); printf("1.0 / 0.0 is %g\n", 1.0 / 0.0); return 0; }