C语言中什么时候用float定义,什么时候用double定义

我想请教一下,C语言中什么时候用float定义,什么时候用double定义
最新回答
σ你眼中ノ起风〃)

2024-10-14 08:45:50

根据需要定义,一般反正定义double的比较多。

float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

常用数据类型有以下几种(32位机):
char 1字节
short 2字节
int 4字节
long 4字节
long long 8字节
float 4字节
double 5字节
long double 12字节
梦有一把锁

2024-10-14 09:00:57

建议不要考虑float变量的使用了。
float有效数字6-7位,还不如int类型表示的数据有效性高
double 有效数字15-16位
float占四个字节,double占8字节,在表示浮点数(小数)时double精度要高的很多。
姊‘妝濃孒

2024-10-14 08:29:15

一般用float就可以满足要求,float和double都用来定义
浮点数
,也就是小数,两者就是有效位数不同,float为7-8位,double是15-16位,看你需要什么
精确度
的数了~ 再不清楚的话,就随便找个数,分别以float和double格式输出,看看输出的数有什么区别就懂了~
追问
保留两位小数之类的用float吗
oО绿帽侠

2024-10-14 08:12:01

两个精度是不一样的,一个 是单精度的,一个是双精度的。看你对精度的要求了。