第1个回答 2015-07-02
系统默认小数是double,所以你调用sqrt时,其实是这个用法double sqrt(double),返还的是double类型,double类型和其他类型运算的时候,系统会自动把数都变成double类型进行运算,返还的也是double。double是双精度浮点数,一般占8个字节,float是单精度浮点数,一般占4个字节,int也是4个字节。一般运算的时候,精度低的会向精度高的转化,double>float>int
float占4个字节,也就是32位,存储方式是1位符号位(1表示负数,0表示正数)+8位阶码(移码表示,也就是2的几次幂)+23位有效位(原码表示)
double占8个字节,也就是64位,存储方式是1位符号位+11位阶码+52位有效位。