c语言里的除法问题

lianggg911 2008-12-15 03:21:46
小弟在做一个课题时遇到了一个问题,是这样的:
int i=0;
float j=0;
..................
i=inport(0x0100);
...............
最后调试时i=0xffe0,也就是-32;下面我希望用i除以3276.7,经过一定的操作后得到一个浮点数,把这个浮点数放到j中。
我是这样写得:j=(float)(i/3276.7);但是编译的时候没有通过,请教大家,怎样能够使j=i除以3276.7的商??
...全文
312 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
summitily 2008-12-15
  • 打赏
  • 举报
回复
不用转换,编译器会自动转换的
waizqfor 2008-12-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 icewolf23 的回复:]
不是/的两边的类型要相等吗?
所以应该是float(i)/3276.7
这样吧
[/Quote]
用不着的 编译器会自动转化成精度高的
icewolf23 2008-12-15
  • 打赏
  • 举报
回复
不是/的两边的类型要相等吗?
所以应该是float(i)/3276.7
这样吧
lbh2001 2008-12-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 smdszgzh 的回复:]
3276.7已经是float了撒!int除以float还是float嘛,不用转换
[/Quote]

3276.7已经是double,不是float
smdszgzh 2008-12-15
  • 打赏
  • 举报
回复
3276.7已经是float了撒!int除以float还是float嘛,不用转换
长安宁 2008-12-15
  • 打赏
  • 举报
回复
int i=0xffe0;
float j=i/3276.7;
cout << j << endl;
guuerpwustc 2008-12-15
  • 打赏
  • 举报
回复
现在做计算大多都用double精度了,小点的程序根本不在乎这点空间
wuyu637 2008-12-15
  • 打赏
  • 举报
回复
int i=0;

==========》 float i= 0.0
lbh2001 2008-12-15
  • 打赏
  • 举报
回复
j=(float)i/3276.7;

69,377

社区成员

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

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