鱼C论坛

 找回密码
 立即注册
查看: 5228|回复: 4

关于double 和 long float

[复制链接]
发表于 2013-3-12 22:51:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 HelloWorld123 于 2013-3-12 22:55 编辑

long float b=123.1234567f;
printf("b=%lf,%f,%5.4lf,%e\n",b,b,b,b);

输出的结果是
b=123.123459,123.123459,123.1235,1.231235e+002
%lf是long float吧?sizeof(long float)得出的结果是8
和double的长度是一样的了
为什么输出%lf 一样不能完全显示?
还有%5.4lf,.4我知道是表示小数位保留4位,这个5表示的是什么???



未命名.jpg


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-12 23:15:07 | 显示全部楼层
不必纠结这个问题,输出浮点数统一用double就行了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-13 01:19:35 | 显示全部楼层
其实你说的那些都可能在16位机的结果,不然你可以单步调试查内存变化,结清楚了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-13 11:38:39 | 显示全部楼层
printf 只有%f 没有%lf 没有float和double之分的
另外 根本没有long float 这个数据类型
long不是作为类型的一个前缀关键字
long int 本身是一个完整的数据类型
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-17 20:49:11 | 显示全部楼层
5是字段宽度,当浮点数长度(数字个数和.的个数)小于5时,有空格,超出时按实际长度显示
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-5 20:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表