'float' vs. 'double' precision

后端 未结 6 788
情话喂你
情话喂你 2020-11-22 14:56

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         


        
6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-11-22 15:44

    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.

提交回复
热议问题