尾数是珠算术语,指一个数目中末位的数码,又可称之为“精度”,即对表达结果的精确程度产生重要影响的数,也就是常说的 significant digits。
概念定义
如果要弄清尾数在数学中的含义,应先从下面这个表达式讲起:在数学中,特别是在计算机相关的数字(
浮点数)问题的表述中,有一个基本表达法:
value of floating-point=significandxbase^ exponent , with sign --- F.1
译为中文表达即为:
(浮点)数值 =尾数× 底数 ^ 指数,(附加
正负号)---------------- F.2
以我们常见的
科学计数法表示第一次人口普查中国人口为601,938,035人(新中国有六万万人口)为例,其表达可以为(忽略部分位):
六万万 = 6.019 × 108 (正号)----------------------------------- F.3
当然,我们也可以这样表达(忽略部分位):
六万万 = 60.19 × 107(正号)----------------------------------- F.4
但是,我们可以看到,F.4 不符合
科学记数法的定义,因为尾数(60.19)大于了底数(10),便失去了
科学计数法以10为底数的意义。也就是说当我们采用F.1或F.2这样的计数方法来表达一个数值时,应当满足 尾数 < 底数 (我们可以假借“小于”的说法,才硬称之为“尾” );
“尾数”又可称之为“精度”,即对表达结果的精确程度产生重要影响的数,也就是常说的 significant digits,缩小后即为 F.1 中的 significand。下面我们再看关于六万万人口,如果想通过科学计数法来更确切地表达的话,那么我们只能在尾数上下手,见F.5和F.6。
六万万 = 6.01938 × 108(正号)----------------------------- F.5
六万万 = 6.01938035 × 108(正号)----------------------------- F.6
指数(exponent)和尾数(mantissa):我们说 102.477=300,2.477就是幂指数(exponent)。
以10为底300的
对数作例子,lg(300)=lg(3*102)=lg3+2=2.477,结果的整数部分2是对数的首数,小数部分0.477是对数的尾数。
概念出处
以下是 mantissa 的旧义。今已过时不用。
以尾数称呼它,因为,它是
常用对数的
整数部分后面拖着的一笔额外的数。据说,这是 mantissa 转作数学用的由来。
尾数的数学含义有两个。
1.设A为表示实数的
浮点数。尾数是A的一部分,当这一部分乘以其基底的
乘方,即得浮点数所表示的实数值。尾数可以包含实数的
正负号。
尾数在此也称为“
有效数”(significand)。
上面的解释太简短,不懂计算机科学里有关
浮点数的知识,很难弄明白。从
科学记数法来说明,也许比较容易理解。科学记数法也有“尾数”的说法。
指数b是一个整数,a是一个实数,称为
有效数或尾数(“尾数”这个词可能造成混淆,它有可能被误以为是
常用对数的小数部分)。
按:当 1≤a<10 ,这个
科学记数法就是正规型的(normalized form),否则就不是正规型。
在科学记数法中,一个数被写成一个 1 与 10 之间的实数(尾数)与一个 10 的幂的积,为了得到统一的表达方式,该尾数并不包括 10 。
有些文献在讲
浮点数或者科学记数法的
有效数时,仍用尾数这个说法,因此有必要加以分说,以避免混淆。