The code
float x = 3.141592653589793238; double z = 3.141592653589793238; printf(\"x=%f\\n\", x); printf(\"z=%f\\n\", z); printf(\"x=%20.18f\\n\", x); print
A float has 23 bits of precision, and a double has 52.