什么是定点数?什么是浮点数
定点数是表示的数小数点位置固定不变的数,浮点数就是小数点在逻辑上是不固定的,浮点数在计算机中用以近似表示任意某个实数。
所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。定点小数表示法,主要用在早期的计算机中,它最节省硬件。随着计算机硬件成本的大幅度降低,现代的通用计算机都被设计成能处理与计算多种类型数值的计算机。
浮点数,是一个计算机科学术语,指一种既包含小数又包含整数的数据类型。浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到。
一个浮点数a由两个数m和e来表示:a=m×b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。
定点数和浮点数的区别:
定点运算中,程序员必须时刻关注溢出的发生,为了防止溢出,要么不断进行移位定标,要么做截尾。定点表示具体的数。前者耗费大量时间和空间,后者则带来精度的损失。
浮点运算dsp扩大了动态范围,提高了精度,节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。浮点无法精确表达需要取舍。