hiNewer

hiNewer

0个粉丝

38

问答

0

专栏

0

资料

hiNewer  发布于  2016-07-28 23:37:06
采纳率 0%
38个问答
2218

Hi3531A编程

 
本帖最后由 hiNewer 于 2016-7-28 23:53 编辑

今天写了一个小程序,想用printf输出一个两个数相除的值,被除数和除数都是HI_U32类型,但输出结果却是0.
类似于这样的。
int main ()
{
HI_U32 a;//下载到板子上运行可看到值,比如1500
HI_U32 b;//运行时可看到值4100
printf("%.2f\n",a/b); //但是这里却始终显示为零,这里希望输出一个小数 试了强制转换(float)a/b不好使
}
感觉自己写的有哪里不对,不知道怎么改。
我来回答
回答4个
时间排序
认可量排序

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-07-28 23:41:22
认可0
本帖最后由 ngswfx 于 2016-7-28 23:42 编辑

感觉是类型不对,

1500/40100,结果本来就是0

要是 1500.0/40100.0 结果就不是0了

你测试一下强制类型转换为float,再除。

printf("%.2f\n",(float)a/(float)b);

hiNewer

0个粉丝

38

问答

0

专栏

0

资料

hiNewer 2016-07-28 23:55:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=35077&ptid=12121]ngswfx 发表于 2016-7-28 23:41[/url]
感觉是类型不对,

1500/40100,结果本来就是0
[/quote]

嗯嗯,好的,我写错了,应该是4100,分子HI_U16,分母是HI_S32类型,希望得到小数,明天试试

hiNewer

0个粉丝

38

问答

0

专栏

0

资料

hiNewer 2016-07-29 09:30:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=35077&ptid=12121]ngswfx 发表于 2016-7-28 23:41[/url]
感觉是类型不对,

1500/40100,结果本来就是0
[/quote]

按您说的已经运行正确了,非常感谢。

呆呆

0个粉丝

0

问答

0

专栏

0

资料

呆呆 2016-08-01 18:50:50
认可0
学习了,学习了
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区