c语言double和float区别(c语言 double和float)

http://www.itjxue.com  2023-03-29 05:56  来源:未知  点击次数: 

C语言中float和double的区别

单精度浮点数(float)与双精度浮点数(double)的区别如下:

(1)在内存中占有的字节数不同

单精度浮点数在机内占4个字节

双精度浮点数在机内占8个字节

(2)有效数字位数不同

单精度浮点数有效数字8位

双精度浮点数有效数字16位

(3)所能表示数的范围不同

单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

(4)在程序中处理速度不同

一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

c语言float和double的区别

基本上没有什么区别,都是表示小数

不过它们的宽度不一样,或者说精度不一样,float是单精度,double是双精度

它们表示小数的范围不一样,double能表示的范围,比float大

double在内存中,占8个字节,float占4个字节

float和double的关系就像short跟long的关系一样

float的有效数字是6-7位,也就是说float精确到小数点6-7位;而double的有效数字是15-16位,也就是说float精确到小数点15-16位 我们计算一些数学题 比如计算地球到月球的距离什么的等等 就可能要精确到10十几位,那时候就要用到double了;有时比较程序的大小也有可能要用到 double 由于float和double功能都一样 但double的用范围更广 所以避免出错 建议用double

float和double类型的区别

float和double类型的区别如下:

1、变量类型不同

float属于单精度型浮点数据。

double属于双精度型浮点数据。

2、指数范围不同

float的指数范围为-127~128。

double而double的指数范围为-1023~1024

3、表达式指数位不同

float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)

double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)

4、占用内存空间不同

float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。

double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

5、有效位数不同

float只能提供七位有效数字。

double可提供16位有效数字。

参考资料来源:百度百科——浮点型数据

c语言中double和float的区别

主要区别就是精度不同 都属于浮点数 也就是小数 ,但精度不同 即取值的范围不同,其中取值范围double要比float大 ,因此所占内存位数也不同 ,一般的来说 float 占 4字节 double 占8字节

对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。

(责任编辑:IT教学网)

更多

推荐站内动态文章