float 怎么就近似成0了

「已注销」 2018-01-29 08:43:48
按照浮点数表出不应该是0.666666吗,虽然浮点数会损失精度但也不至于直接成0吧
...全文
628 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sfzhaolv 2018-01-29
  • 打赏
  • 举报
回复 1
这里发生了隐式类型转换 a 是int ,3也是整形,所以 (a/3)运算的结果,c++规定为int。 b=a/3.0;改为 这样就对了。 更详细的只是,楼主请看 c++primer 隐式类型转换这一节
大米粥哥哥 2018-01-29
  • 打赏
  • 举报
回复
两个整数相除结果还是整数 然后把整数存到一个浮点数变量中 其中一个为浮点数 则结果也为浮点数
paschen 2018-01-29
  • 打赏
  • 举报
回复
你这里进行的是整数除法,所以结果是0,你要浮点数除法的话写成:b=a/3.0f; 或者 b=(float)a / 3;

69,372

社区成员

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

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