99.99*99.99用单片机怎么算?小数点后保留两位,c语言谢谢!!没有float数据类型..

如题所述

unsigned long x,y;
x=9999;y=9999;
x*=y;
Y=X%100;
x\=100;
if (y>=50)x++;
//X中为结果,因为没有浮点又要保留两位小数,所以用大100倍的整数表示。追问

为什么我定义两个长整型变量后编译出现下面这结果?怎么解决呢?
Program Size: data=60.0 xdata=0 code=2645
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
MODULE: D:\软件\KEIL\C51\LIB\C51S.LIB (-----)
LIMIT: 0800H BYTES
Target not created

追答

程序本身是0警告0错误,而下面报的这个是keil的限制,估计你用的是试用版,最多只能编译2K大小以内的程序,而你的程序已经2645字节了,超过了这个限制所以报这个错误。你用正式版即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-18
你讲的意思是,,不用float数据类型,,吧,,个人感觉可以做将99.99乘以100变成整型然后让9999X9999结果赋给长整型变量,,在显示等的时候做相应打点,,取舍就可以了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网