导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→斑竹救我!!![guest]

 *第14468篇: 斑竹救我!!!

  
楼 主:guest 2003年7月15日22:44
 斑竹救我!!!
我有一个浮点数显示的子程中调用的stdio.h中的sprintf函数,浮点数倒是正确的显示出来了,可是我发现sprintf这个函数占用了我7k的空间,别的程序都没办法放了,急世我了
  
2楼:一剑飘魂 2003年7月15日23:00
 对呀!怎么样才能解决这个问题呀!
  
3楼:一剑飘魂 2003年7月15日23:47
 怎么没人帮忙啊?
  
4楼:一剑飘魂 2003年7月16日14:48
 别称下去了,顶!
  
5楼:一剑飘魂 2003年7月17日00:04
 再顶
  
6楼:guest 2003年7月16日15:00
 你是不是使用的是c51写的,上面的浮点库有精简模式的,试试看把
要不你就用a51自己写一个把!
反正也不会死
  
7楼:一剑飘魂 2003年7月16日22:08
 怎样才能调用C的精简模式呢?
  
8楼:幽游梦蝶 2003年7月18日08:20
 如果你看了我在这里发的关于编程规范的精华帖子就知道不要调用那些函数
  
9楼:一剑飘魂 2003年7月18日14:35
 老乡,谢谢你的回复!
但是,我必须把适时算出来的浮点数显示出来啊!而我用得那款液晶必须要ascii码才能显示数字,我也想过把浮点数强制转换成长整形后再显示,可这样一来就截掉了小数点后面的尾数了,你有什么好一点的办法嘛?希望你能帮帮我!!!!!
  
10楼:ttdy 2003年7月18日14:43
 你看这样可不可以
如果要显示  3.56 你可以数字 x 100 就变成了 356 ,通过 100 来判断小数点要显示的
位置就可以了 3。56
  
11楼:一剑飘魂 2003年7月18日15:05
 谢谢!你的意思是说……
在转换成long int之前先判断浮点数的大小范围,然后将它有计划的扩大10^n倍,再用n来确定小数点的位置是吗?
我觉得这样是应该行得通的,我采集的数据是从0x00000000~0xffffffff,如果我每隔10倍判断一次,总共要判断10次!如果采集值  <1的话呢?
哦!如果  <1的话我就根据需要显示的有效位数来扩大是这样吗?
  
12楼:ttdy 2003年7月18日15:38
 如果是数据采集的话可以这样
你采集到数据格式是: 0x00000~0xfffff 
如果计算的话是 ( 采集到的值 + 0xfffff  ) * 参考值    就是等于你采集到最后的
结果,并把它显示出来,是不是这样啊!
你可以把你的参考值 乘上 1000

这样结果是原来的 1000 倍,( 采集到的值 * 参考值 ×1000 ) / 0xffff  ,这样得到是没有小数点,虽然有一定的误差,但是误差已经是正常计算的 1/1000 了,显示的时候
可以在最后一个数字开始往前 移 3 个的位置上显示小数点就可以了

  
13楼:一剑飘魂 2003年7月18日17:30
 我明白了!谢谢你!!!
  
14楼:ttdy 2003年7月18日17:32
 互相帮助吗!呵呵

>>>>>>对该主题发表你的看法

本主题贴数14,分页: [第1页]


[上一篇主题]:谁要SED1520和T6963液晶模块的汉字字模提取程序

[下一篇主题]:请教各位前辈!