float, double, long double
1、float表示单精度浮点数,double,long double表示高精度浮点数。
其中各浮点类型的长度分别是:
Intel,XP 32位,Microsoft Visual Stdio 2005
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 8
2、浮点类型转换
(1) 带小数点的字面值默认为double类型。例:1.35,2.8。
(2)
将一个精度较低的浮点值转换为相同或更高精度的浮点类型时,它的值保持不变。
float fx;
double dx;
long double ldx;
dx = fx;
ldx = dx;
如果将fx赋值给dx,或者将dx赋值给ldx,则值保持不变。
(3)将一个较高精度的浮点类型值转换为较低精度的浮点类型
如果它的值在可表示范围内,
则结果可能是下一个较高或较低的可表示值。
如果结果在可表示范围之外,则其行为是未定义的。
float fx;
double dx;
fx = dx;
如果dx的值在fx的可表示范围内,则fx为最靠近dx的可表示值。
如果dx的值超出了fx的可表示范围,则结果未定义。
本人现经营一个微信订阅号如下:欢迎大家关注,获取相关内容。
订阅号账号是:begginghard_zgh
订阅号名称是:读书笔记 By 张光辉