更新时间:2023-02-26 09:23
位值制记数法(positional notation)亦称位值记数法,是常用的一种记数法,按照位值制建立的记数法,称为位值记数法,十进制记数法、二进制记数法和八进制记数法等,都是位值记数法,而罗马记数法则不属于位值记数法。
位值记数法是指按位值制来记数的方法,即一个数的大小,用一组有顺序的数字来表示,每个数字所表示的大小,既取决于它本身的数值;又取决于它所在的位置。
罗马数码是一种非位值制记数法,而通常的进位制记数法,都是位值记数法。最早具有位值制思想的,是公元前二千年前后的古巴比伦人,但所用的是六十进制。在世界上,中国最先在商代(约公元前16、17世纪至约公元前1045年左右),就已经使用十进制位值记数法了。战国时(公元前4世纪)或更早,已经形成了采用完善的、包含空位(零)的十进位值制的筹算记数法(不过直到10世纪才普遍使用)。印度在6世纪末,才真正开始广泛使用十进位值制。9世纪后,他们所用的十进位值制及数字符号——阿拉伯数字,逐步传到阿拉伯及欧洲各国。
位值制也被称为位置制、地位制,是在进位制的基础上发展起来的。所谓位值制,就是同一数码如果处在不同的位置(数位),就有不同的位置值(也叫权),因而所表示的数值也就不同,实际上,它表示所在位置相应一级“单位”的一定倍数,例如6,在个位表示6×1,在十位表示6×10,在百位表示6×100等。更严格地说,在选定进位制的基底b后,给出0, 1,2,……,b-1这b个数的写法(数码),于是,任何一个自然数N, 均可以用某个以这些数码为系数(可以重复) 的b的多项式表示出来:
其中, 。于是在“b进位值制”记数法中, 我们记N为
显然, 同一数码写在不同的位置上, 与之相应的b的幂次是不同的,因而这一数码所表示的数值也就不同。此外, 当我们在特定的b进位值制系统中记数, 不至发生与其他基底的位值制记数法混淆时,便可把N的括号和表示基底的脚码b省略,直接写成 。在常用的十进位值制和电子计算机用的二进位值制中人们正是这样做的。
十进制(decimal system)是最常用的一种记数法,即以十为进位基数的位值制记数法,任何一个正整数都有一个且只有一个十进制表达式:
其中 是 中的一个数, 。通常把N简记为 ,小数也有十进制表示法。
在历史上,较早发展起来的位值制记数系统有:巴比伦人的六十进位值制(不晚于公元前19世纪,参见“巴比伦数学”);中国古代的十进位值制(不晚于公元前5世纪,参见“中国古代数学”);玛雅人的二十进位值制(约公元前的几个世纪,参见“玛雅数学”);印度人的十进位值制(约公元5世纪前后,参见“印度古代数学”、“印度—阿拉伯数码”)。
在这里, 我们把中国古代的十进位值制记数值产生的下限定在公元前5世纪,即春秋末年,因为在当时建立在十进位值制基础上的算筹记数制度及其运算方法已经十分发达、完备而且普及了,实际上,十进位值制在中国产生的年代可能远远早于这个下限, 在约公元前14世纪至公元前11世纪的殷墟甲骨文中, 早已出现了像“三百又四十八”、“二千六百五十六人”这样的记载,其特点是由一、二、三、…,九这9个数字与表示10的各个幂次的单字十、百、千、万组合成一个复杂的数字, 在与10的各个幂次相应的每一级 (位)上,都是由一、二、……,九这9个数字之一与表示10的不同幂次的十、百、千、万相乘而确定那一位上的数值时,这与前面表示b进位值制的多项式(1)在实质上是完全一致的,西方学者把这样的记数系统称为“乘法分群数系”,并认为位值制记数系统是乘法分群数系在逻辑上的必然产物。乘法分群数系与位值制记数系统的区别不仅在于前者必须把进位制基底b的备个幂次连同其系数一同写出,还在于当某些系数是零时,前者就根本无需再提到这一项,而在后者(位值制)则必须在相应的位置上空位或补上一个零号。但是,另一方面, 甲骨文中的记载只是用当时的文字记述了数字运算的结果,而并没有给出在实际运算中数字的表示法,这两者是有明显区别的。实际上,尽管十进位值制的算筹记数制度至迟在公元前5世纪已经十分普及, 但在由汉代到唐代形成的《算经十书》中,数字的文字叙述方式还是和甲骨文中的方式完全一样,甚至在今天用汉字书写数字时我们也同样是这样做的, 但这决不等同于在今天十进位值制仍未出现。
因此,英国著名科学史家李约瑟(J.Needham)曾经合理地推断:“在西方后来所习见的‘印度数字’的背后,位值制早已在中国存在了两千年。”虽然从文艺复兴以来的欧洲学者几百年来一直盛赞印度人发明了十进位值制这种极为简捷优越的记数法, 但它最早是由中国人发明的却是毫无疑问的。