关于51单片机做简易计算器的问题

[复制链接]
 楼主| sxjaqq 发表于 2008-11-13 22:40 | 显示全部楼层 |阅读模式
51单片机做小数的运算是怎么做出来的?负数运算呢。新手恳请大家的指教。
 楼主| sxjaqq 发表于 2008-11-13 22:46 | 显示全部楼层

还有一事请教

若是定义float类型变量,51的处理速度会不会变的很慢。
李冬发 发表于 2008-11-13 22:46 | 显示全部楼层

用定点要比浮点容易,也可以用浮点运算。

 楼主| sxjaqq 发表于 2008-11-13 22:47 | 显示全部楼层

LS能否解释详细一些,我是新手

定点运算是怎么样的?
 楼主| sxjaqq 发表于 2008-11-14 21:48 | 显示全部楼层

自己顶上去吧!

希望得到指导!在线等。
TOTOJOJO 发表于 2008-11-14 22:20 | 显示全部楼层

对于做个计算器来说,再怎么慢也比人脑算快N倍了

还是用浮点省事,如果你不嫌麻烦,就用汇编吧。至于用浮点库,对于做个计算器来说,再怎么慢也比人脑算快N倍了,我做个四则混合运算的也只要0点1秒,可能还不到,你不会连0点几秒算个结果给你看都不能等吧
ayb_ice 发表于 2008-11-15 09:49 | 显示全部楼层

51运算简单的浮点操作还是没有任何问题的

只是不搞那些高等数学的运算是可以的,何况你也不是不停的计算。
hpxlove 发表于 2008-11-15 11:48 | 显示全部楼层

那点实例更好说明!

mamin506 发表于 2008-11-15 15:22 | 显示全部楼层

这个我做过哟

我10月份刚好做过,用c编的,定义浮点型变量就行,速度还是很快的

但是当数达到1000000以上就容易出现误差了~呵呵
TOTOJOJO 发表于 2008-11-16 09:49 | 显示全部楼层

如果不想自己写浮点库又需要更多数据有效位的话

C51浮点库只有单精度,最高有效数据位只有7位,如果要更高精度的浮点,如果不想自己写浮点库又需要更多数据有效位(十几个数据有效位)的话,可以使用ARM来做,在ADS下的C下用double数据类型
使用软件浮点库来进行运算的前提是你不需要很实时的运算,所以对于做一个计算器来说完全够用,所以不要拿什么使用浮点库效率不高来拍砖争议啦
 楼主| sxjaqq 发表于 2008-11-24 14:33 | 显示全部楼层

我现在的进展

可以做到7位数据的四则运算,没算小数。unsigned long类型保留结果不知道为什么数据显示到第八位就会出错。小数的处理还是不懂。
mohanwei 发表于 2008-11-24 18:28 | 显示全部楼层

模拟笔算也是一条路子……

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部