打印

用C如何才能将浮点数转换成BCD码和LED段码???

[复制链接]
4681|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程疗匠人|  楼主 | 2009-2-25 22:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
maomao603| | 2009-2-25 23:34 | 只看该作者

一位一位的除出来

char a
double b,c

b=123
a=b/100 //a=1
c=a
b=b-c*100//b=23

剩下的自己写

使用特权

评论回复
板凳
jerkoh| | 2009-2-25 23:38 | 只看该作者

RE

这个山寨比原先的程序匠“入”还要牛

使用特权

评论回复
地板
程疗匠人|  楼主 | 2009-2-26 19:53 | 只看该作者

小数也这么一位一位的除出来吗?

    貌似小数这么除不好除吧,还是先将这个浮点小数乘以一个很大的数,变成整数再来除?
    牛人肯定有绝招的,教教偶吧~~

使用特权

评论回复
5
ayb_ice| | 2009-2-26 20:09 | 只看该作者

我说程序匠人怎么会问这样的问题呢?

原来是山寨版的

使用特权

评论回复
6
notpower| | 2009-2-27 08:53 | 只看该作者

就是一位一位的算,没值么太好的办法。做函数吧。

山寨的朋友们都出来亮亮相吧。

使用特权

评论回复
7
azmao| | 2009-2-27 09:02 | 只看该作者

使用sprint()就可以了。

转换成BYTE就可以送显示了。

使用特权

评论回复
8
mohanwei| | 2009-2-27 09:52 | 只看该作者

同意,sprintf是“最简单”的实现方法。

使用特权

评论回复
9
btiger2000| | 2009-2-27 11:21 | 只看该作者

我也以为是程序匠人呢!

想着 匠人应该不会问这种问题啊!

使用特权

评论回复
10
程疗匠人|  楼主 | 2009-2-28 10:58 | 只看该作者

谢谢了,我搞单片机是业余爱好,时间不多,所以进展很慢~~

使用特权

评论回复
11
ayb_ice| | 2009-2-28 11:29 | 只看该作者

sprintf是低效的方法

因为这样的函数对于MCU实在是奢侈

使用特权

评论回复
12
backupyan| | 2009-3-4 07:25 | 只看该作者

这个问题比较复杂

那么LZ,你能把12显示在LED上吗?
如果能的话,就好说了。
P=霍尔脉冲所代表的长度
T=脉冲间隔时间
P/T 是整数。显示在小数点左边
(float)(P%T)/T 是小数,通过循环乘10后取整数部分显示的方法显示在小数点右边。

使用特权

评论回复
13
程疗匠人|  楼主 | 2009-3-4 20:21 | 只看该作者

感谢芯行天下

使用特权

评论回复
14
luowei2651| | 2009-3-5 10:14 | 只看该作者

kan

使用特权

评论回复
15
bob.xue| | 2009-3-5 11:19 | 只看该作者

提高倍数

使用特权

评论回复
16
bjc125| | 2009-3-5 18:22 | 只看该作者

灌水中

使用特权

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

本版积分规则

29

主题

224

帖子

0

粉丝