2007-12-25 10:54:05
0 引言
实时控制系统程序设计中,常涉及到小数运算问题.计算机系统中用二进制表示小数的方法有定点数表示法和浮点数表示法.采用浮点数表示法表示的小数范围大、精度高,但程序代码长,运算速度慢.定点数表示的小数范围小、精度低,但程序代码短,运算速度快.
使用C语言设计程序具有程序可读性强,编程方便等优点,但按常规方法设计程序时,实时性不如采用汇编语言设计的程序,这在涉及到小数运算时表现更为突出.这样就限制了C语言的应用.如果采用合适的计算方法,使用C语言编程可以获得与汇编语言编程同样的实时性.
实时控制系统中的前向通道采集的原始数据大多是定点整数,例如前向模拟通道的A/D转换器的转换结果,定时/计数器的计数结果等,都是定点整数.而系统的后向通道能接受的输入量也都为整数,即由量化产生的有限字长误差不可避免,精确到小数位的控制量因执行机构无法接受而不得不舍去.因而,虽然采用定点数表示小数的方法精度低,但在大多数情况下,仍能满足实时控制系统的控制精度要求&#