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
It's not exactly double precision because of how IEEE 754 works, and because binary doesn't really translate well to decimal. Take a look at the standard if you're interested.