c里面把float或者double转换成int时是下取整还是上取整?

J_X_Q 2008-07-30 02:50:30
(int)num
上取整还是下取整?
...全文
3903 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
K行天下 2008-07-30
  • 打赏
  • 举报
回复
最好使用:
函数floor( )向下取整,函数ceil( )向上取整
如果要4舍5入,可以在浮点数上加0.5之后再用floor( )或者减去0.5之后用ceil( )。

但是应该还是向下取整吧,不会按照int来解释前面四个字节!
float fd = 1234.56789;
cout << int(fd) << endl;//是1234!
cout<<*((int*)(&fd))<<endl;//
zjw6861982 2008-07-30
  • 打赏
  • 举报
回复
都不是啊
独孤过儿 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xkyx_cn 的回复:]
都不是,是按int来解释float或double变量的前4个字节,不会修改这4个字节的内容
[/Quote]
请看一下IEEE754,浮点数的格式定义...
独孤过儿 2008-07-30
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

int main()
{
float fd = 3.6415;
cout << (int)fd << endl;
cout << "You should tyr it by youself!" << endl;
return 0;
}

xkyx_cn 2008-07-30
  • 打赏
  • 举报
回复
都不是,是按int来解释float或double变量的前4个字节,不会修改这4个字节的内容
bargio_susie 2008-07-30
  • 打赏
  • 举报
回复

33,316

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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