打印

怎么把4×4键盘值拼装成浮点数?

[复制链接]
1935|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangzk|  楼主 | 2010-6-10 08:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
4×4键盘 键值有0~9个数字,还有小数点  

要进行浮点数运算 由这几个按键输入数字组成精确到5位有效数字的浮点数

问题:怎么把这10个阿拉伯数字拼装成小数呢????

各位有什么好方法,恳请赐教!只求思路就行了,有程序说明更好。

相关帖子

沙发
ayb_ice| | 2010-6-10 08:45 | 只看该作者
X+

使用特权

评论回复
板凳
wangzk|  楼主 | 2010-6-10 11:11 | 只看该作者
没人理我?:'(

使用特权

评论回复
地板
ayb_ice| | 2010-6-10 11:15 | 只看该作者
不是告诉你了吗

使用特权

评论回复
5
wangzk|  楼主 | 2010-6-10 11:20 | 只看该作者
:funk:小弟愚钝  没看懂  还望指点

使用特权

评论回复
6
lu150| | 2010-6-10 11:28 | 只看该作者
数码管 显示 还是 LCD ?

使用特权

评论回复
7
lu150| | 2010-6-10 11:30 | 只看该作者
和你说  别指望在这论坛上有高手指点你  这帮人很抠门!

使用特权

评论回复
8
wangzk|  楼主 | 2010-6-10 11:33 | 只看该作者
lcd呀  2楼自作高深:@ 6# lu150

使用特权

评论回复
9
hgjinwei| | 2010-6-10 12:30 | 只看该作者
本帖最后由 hgjinwei 于 2010-6-10 19:28 编辑

方法一:
首先,你得有个缓冲区(多大就看你要输入多少数字了);
然后,你得给你输入的数据搞个格式(BCD还是ACSII就由你说了算了);
接着,你得知道什么时候数据输完了(没有回车还真不好搞);
最后,你得根据你输入数据的格式整理出你要的数据(别说你不知道12.34 = 1*10^1 + 2*10^0 + 3*10^-1+4*10^-2)。
完了。

方法二:
首先,你得知道你什么时候输入了小数点;
然后,整数部分 v += v*10 + new; // 不好意思,这里搞错了,应为v = v*10 + new
         小数部分 v += new/(10^i);

使用特权

评论回复
10
wangzk|  楼主 | 2010-6-10 12:47 | 只看该作者

谢谢9楼大哥 相信道行水平越高的 越有耐心 也越谦虚谨慎

本帖最后由 wangzk 于 2010-6-10 12:52 编辑

感激涕零!!好人还是有的 9# hgjinwei

使用特权

评论回复
11
tangzzbb| | 2010-6-10 13:52 | 只看该作者
你问的问题就是把字符串转为小数的问题,可以采用标准函数 atof()或strtod()

#include<stdlib.h>
void main(void)
{
char *s="-100.23";//按键的数字字符串放在这里
float f;
f=atof(s);

}

使用特权

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

本版积分规则

个人签名:[url=http://huiqianxi.taobao.com]http://huiqianxi.

91

主题

680

帖子

0

粉丝