在51单片机的汇编环境里能处理浮点数吗?

51单片机处理浮点数非得用C语言吗?汇编语言行不行?如果行,该怎么处理呢?谢谢^_^

51处理浮点数是非常慢的,建议轻易不要用,非要用小数的话,那可以用整数替代啊,可以标记为小数就行了。c可以做到汇编也可以。你可以到网上查一下有没有相应的例子。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-10-08
你不觉得汇编语言处理运算太麻烦了吗,为何不用C,你必须接收这一事实,汇编语言己经退出了历史。非得用汇编的话,你就找个C的,然后用编译器将它翻译成汇编。
第2个回答  2020-02-17
void
table(long
degree)

这个
函数定义写错了,该函数的参数类型为长整型,此时,如果传入的参数实际值为浮点数,则浮点数会先被强制转换成长整型(隐性转换,默认的做法是去掉小数点后的数),得出的结果才传入形参(degree)。
可以把该函数改成如下形式:
//生成对应的数组,以用于led显示
void
table(float
degree)
{uchar
i;
ulong
num;
if(degree>=0){led[7]=0;degree=degree*100;num=degree;}
if(degree<0){led[7]=10;degree=degree*(-100);num=degree;}
for(i=0;i<prec;i++)
{led[i]=num%10;

num=num/10;
}
}
相似回答