用float定义变量并赋初值的小问题

wit2188 2007-05-08 01:26:32
当用float定义一个变量并赋初值时,这个初值是整数好呢,还是带小数点的整数好呢?
...全文
1143 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutaooo 2007-05-10
  • 打赏
  • 举报
回复
to wit2188() :

明确,98%是好的做法。 因为,这样减少了编译器猜测。 概念上说
float value = 1.0;
是需要一个转型的。虽然,编译器很大的可能性会优化掉这个转型。

并且,这个转型本身并非安全的。因为,double 比 float 精度要高。

某些编译器, 也会对 float value = 1.0; 报警。

另外,明确,无歧义的书写 c++ 代码总是被推荐的。当然,这已经超出了 lz 的话题范围。个人而言,养成这样明确干净的编程风格,甚至做为一种编程信仰是有理由的。
harbincampus 2007-05-10
  • 打赏
  • 举报
回复
即使不附加小数点,编译器也会自动加上的啊,不过建议还是写上。
fan690265281 2007-05-10
  • 打赏
  • 举报
回复
应该带小数点撒
那样可读性就强了
而且是一目了然 如果不带那不就与int 搞不清了撒 可读性也降低了
wit2188 2007-05-10
  • 打赏
  • 举报
回复
您好,yutaooo,您的做法的确更严谨,我也知道一个浮点型常量在不做声明时就是double类型,可你在用float初始化一个变量时,这个变量的类型已经确定了,既然如此,后面的常量还有必要加f吗?
wit2188 2007-05-10
  • 打赏
  • 举报
回复
呵呵,yutaooo,因为有些关键的问题我还有些糊涂,所以不敢妄发议论,不过,我还是推崇您的做法的。
yutaooo 2007-05-09
  • 打赏
  • 举报
回复
没. 我的意思是, 对于 float , 除了写成 1.0 外, 后面最好再跟一个 f. 因为只写 1.0 其实那是在表达double类型. 如:

float value = 1.0f;
double value = 1.0;

wit2188 2007-05-09
  • 打赏
  • 举报
回复
呵呵,结合诸位所说,理解如下:
当用float初始化一个变量时,如float a=1和float a=1.0时都是正确的,效果也一样,不过后者的可读性更强,对不对?
eggqq007 2007-05-08
  • 打赏
  • 举报
回复
当然是带点小数好了,十分醒目!
mymtom 2007-05-08
  • 打赏
  • 举报
回复
支持 yutaooo(旦见散分需快进, 莫等分尽空遗恨! → 今天,你散了没有?!)
关于这个:
我强烈推荐一个网站和一本书
http://www.research.att.com/~bs/
http://www.research.att.com/~bs/JSF-AV-rules.pdf
chenyu2202863 2007-05-08
  • 打赏
  • 举报
回复
那问问你,你觉得int初始化时用小数好呢还是不要?
wangou911 2007-05-08
  • 打赏
  • 举报
回复
要带小数点 如1.0
P6689 2007-05-08
  • 打赏
  • 举报
回复
up to you. I prefer 0.0;
yutaooo 2007-05-08
  • 打赏
  • 举报
回复
1. float 请加后缀 f
2. double 请别加.

float fval = 1.0f
double dval = 1.0

这东西有必要整理一份完整的啊. 我是懒的弄了. 其他比如:

3. long 请加后缀 L
long lval = 1L;

4. wchar_t 请加前缀 L
wchar_t c = L'衰';

5. 无符号的请加 u

............

70,005

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧