问个笨问题

wawagua 2011-10-15 03:42:03
问个笨问题:double WPropertion = picctrlWidth/ imageWidth ;
wpropertion的值是多少,其中picctrlWidth=466,imageWidth=567
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wawagua 2011-11-02
  • 打赏
  • 举报
回复
不错不错就是0
cczlp 2011-10-16
  • 打赏
  • 举报
回复
double WPropertion = picctrlWidth/ imageWidth ;
先计算后赋值, 计算的结果按整数,是0, 0 赋值给double,还是0
lgxing 2011-10-16
  • 打赏
  • 举报
回复
这种情况是要加上类型转换才正确的
汜水离雨 2011-10-16
  • 打赏
  • 举报
回复

#include "stdafx.h"

int main(int argc, char* argv[])
{
int picctrlWidth=466;
int imageWidth=567;

double WPropertion = picctrlWidth/ imageWidth ;
printf("%d\n",WPropertion);
return 0;
}
结果为:0
柯本 2011-10-15
  • 打赏
  • 举报
回复
如果是这样
int picctrlWidth=466,imageWidth=567;
double WPropertion = picctrlWidth/ imageWidth ;
结果为0
如是这样
int picctrlWidth=466,imageWidth=567;
double WPropertion = (double)picctrlWidth/ imageWidth ;
结果是我1楼的



fangchao918628 2011-10-15
  • 打赏
  • 举报
回复
double的精度是16位,应该是0.0000 0000 0000 000
picctrlWidth和imageWidth为int型,picctrlWidth/ imageWidth = 0;然后强制转换为double
应该是上面那个数
wawagua 2011-10-15
  • 打赏
  • 举报
回复
picctrlWidth和imageWidth为int
柯本 2011-10-15
  • 打赏
  • 举报
回复
计算器算一下
466/567=0.82186948853615520282186948853616

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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