C语言中给浮点数赋值问题

float32D=0.5;不对是吧!那如何直接赋值一个小数给浮点数呢!谢谢... float32 D=0.5; 不对是吧!那如何直接赋值一个小数给浮点数呢!谢谢 展开
 我来答
金色潜鸟
推荐于2018-05-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5703万
展开全部
float D=0.5; // 这叫声明和初始化。
愿意写 float D=0.5f; 也可以。
常数 0.5 默认 处理成 double 型。
0.5f 规定 它 是 float 型.
其实这不是什么大问题。相对C语言中别的问题,这个可以完全忽略。
----------------------------
float D; // 这叫声明。
D=0.5; // 这叫赋值语句。
-------------------------
如果你前面有过 typedef float float32
例如:
typedef float float32;
main(){
float32 D=0.5; // 允许 用 float32 作为 自定义类型
printf("%f\n",D);
}
百度网友a39fb3e
2016-01-21 · TA获得超过4466个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:68万
展开全部

在C语言中,有单精度浮点数(float)和双精度浮点数(double),给浮点数变量赋值,请见如下例子:

  1. 单精度浮点数变量的赋值:

    float f=0.5f;//0.5f表明该常数为单精度数。

    也可以写成

    float f=0.5;//0.5表明该常数为双精度浮点数,当然,也可赋值于一个单精度变量。

  2. 双精度浮点数变量的赋值:

    double d=0.5;//给一个双精度浮点数赋予0.5。

    double d=0.5;/*给一个双精度浮点数赋予一个单精度数,会自动将单精度数转换为一个双精度数。*/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泥苗汉和璧
2020-05-13 · TA获得超过3897个赞
知道大有可为答主
回答量:3209
采纳率:30%
帮助的人:226万
展开全部
四舍误入了
printf("%0.10lf",n);
这样0.10
意思是保留小数点后10位
种种原因很那解释
这应该与二进制转换有关
十进制小数有时无法完全转换为二进制
你可以查一下进制转换的资料就明白了
所以浮点型的后几位就不准确了........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e3693e5
2013-10-14 · TA获得超过314个赞
知道答主
回答量:144
采纳率:0%
帮助的人:67.8万
展开全部
没什么不对啊?你觉得哪里有错?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chennwau
2013-10-14 · TA获得超过738个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:427万
展开全部
float32是什么东西啊?C语言中有这样的关键字吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式