打印

大神请解惑;print输出浮点错误

[复制链接]
902|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chuangong|  楼主 | 2017-12-28 14:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
yqdz2005| | 2017-12-29 16:10 | 只看该作者

使用特权

评论回复
板凳
chuangong|  楼主 | 2017-12-30 12:39 | 只看该作者
没人知道原因吗?

使用特权

评论回复
地板
delin17| | 2018-1-2 14:00 | 只看该作者
你的printf打印要求是只打印了2位啊。

使用特权

评论回复
5
linqing171| | 2018-1-2 20:31 | 只看该作者
project / options 窗口抓一下屏幕。

使用特权

评论回复
6
chuangong|  楼主 | 2018-1-2 22:10 | 只看该作者
linqing171 发表于 2018-1-2 20:31
project / options 窗口抓一下屏幕。


原来是Use FPU, not used编译不能通过;

使用特权

评论回复
7
chuangong|  楼主 | 2018-1-2 22:14 | 只看该作者
delin17 发表于 2018-1-2 14:00
你的printf打印要求是只打印了2位啊。

没有明白你说的,哪里只打印2位?

使用特权

评论回复
8
linqing171| | 2018-1-2 23:22 | 只看该作者
chuangong 发表于 2018-1-2 22:10
原来是Use FPU, not used编译不能通过;

startup.s中的Reset_Handler开FPU了吗?

使用特权

评论回复
9
linqing171| | 2018-1-2 23:29 | 只看该作者
volatile float f=2.0f;
volatile int i = *(int*)&f;
//这里断点,看看i对应的十六进制是多少。
i=0x00000000;
f=*(float*)&i;
//这里断点,看看f是多少。莫非是是2.0?  
i=0;

使用特权

评论回复
10
delin17| | 2018-1-3 08:57 | 只看该作者
chuangong 发表于 2018-1-2 22:14
没有明白你说的,哪里只打印2位?

你的%02d的意思就是只打印2位整数.
%.2f就是小数只打印2位,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

470

帖子

1

粉丝