double和float什么区别

如题所述

第1个回答  2018-05-03

double和float区别如下:

    double精度高,有效数字16位,float精度7位

    大多数情况下,编译器为float分配4字节,double则分配8字节。float 省内存,运算速度快

    c和c++对有效数位的要求是,float至少32位,double至少48位

    输入/输出格式 double 用 %lf,  float 用 %f

    double消耗内存是float的两倍,double的运算速度比float慢得多,

    64位数的double1位符号位,11位指数位,有效数字为15~16,保证有效数字为15位精度


    在代码中写一个12.3,编译器会自动认为这个数是个double型。所以如果我们想指定12.3为float类型,那么你必须在数字后面加上F/f:float f = 12.3F

    float32位组成:最高位的1位为符号位,接着指数位共8位,然后尾数位共23位。

    float型计算机的显示结果只显示6位有效数字

    计算机内部以二进制法存储数据,计算机保证至少6位有效数字的精度。

    浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。

    浮点数使用 IEEE(电气和电子工程师协会)格式。

    浮点类型的单精度值具有 4 个字节,

    包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。

    尾数表示一个介于 1.0 和 2.0 之间的数。

    由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。

    此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围

相似回答
大家正在搜