double强转int

sunboyqq19 2010-03-11 08:57:43
高手告诉下在细节上是怎么实现的
...全文
1087 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
冻结 2010-03-11
  • 打赏
  • 举报
回复
引用 2 楼 daoxwj 的回复:
int在vc2005上是4字节
double是8字节
就是把double里表整数的4个字节copy给int
余下的4个字节丢弃


这个绝对是不对的。
double在内存中是浮点存储。
有什么阶数,尾数,也没弄明白。

我感觉可能是先变成定点数,然后再截取整数。
不知名小ITer 2010-03-11
  • 打赏
  • 举报
回复
引用 4 楼 schoolers 的回复:
引用 2 楼 daoxwj 的回复:
int在vc2005上是4字节
double是8字节
就是把double里表整数的4个字节copy给int
余下的4个字节丢弃

就是找到小数点,然后把小数点以后的全部丢掉。ok?

去掉"ok?"就是答案了...``
Arnold9009 2010-03-11
  • 打赏
  • 举报
回复
double转int的过程比较复杂,需要仔细研究double在内存里的存储方式,不过最终结果就是把小数点后的去掉
某某9 2010-03-11
  • 打赏
  • 举报
回复
引用 2 楼 daoxwj 的回复:
int在vc2005上是4字节
double是8字节
就是把double里表整数的4个字节copy给int
余下的4个字节丢弃


就是找到小数点,然后把小数点以后的全部丢掉。ok?
bobo364 2010-03-11
  • 打赏
  • 举报
回复
整数保留,小数丢弃,反正就是把8字节的double改成4字节的int
大拙男 2010-03-11
  • 打赏
  • 举报
回复
int在vc2005上是4字节
double是8字节
就是把double里表整数的4个字节copy给int
余下的4个字节丢弃
冻结 2010-03-11
  • 打赏
  • 举报
回复
细节不知道。
只知道是把小数点后的数全干掉,不四舍五入。

69,370

社区成员

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

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