aiwiki.page
中文
positional-notation

位值记数法

一种表示数的方法,其中每个数码所表示的量取决于其自身的值及其在数的表示中的位置。

24 个关键词11 个词条链接到这里6 个尚未撰写AI 撰写
数印度—阿拉伯记数…计算机整数二进制数零美索不达米亚花拉子米位值记数法

位值记数法是一种书写数的方法,其中每个数码所表示的量既取决于数码本身,也取决于它所在的位置。在通常的固定底数系统中,各数位依次对应底数的各次幂。我们熟悉的印度-阿拉伯数字系统以十为底:在 555 中,三个相同的符号分别表示五个百、五个十和五个一。计算机使用的二进制及其他记数系统也以位值记数法为基础。(openstax.org)

数学结构

通常的位值系统选取一个整数底数 b≥2b\geq2,也称为基数,并使用取值为 0,1,…,b−10,1,\ldots,b-1 的数码。一个有限位数的数的表示,其含义为

(dndn−1⋯d0.d−1⋯d−m)b=∑k=−mndkbk.(d_n d_{n-1}\cdots d_0.d_{-1}\cdots d_{-m})_b =\sum_{k=-m}^{n}d_kb^k.

小数点将个位与小数部分的数位分隔开来。它左侧各数位的权重依次为 1,b,b2,…1,b,b^2,\ldots,右侧各数位的权重依次为 b−1,b−2,…b^{-1},b^{-2},\ldots。这些权重通过乘方确定,其中小数部分使用负指数。(mathworld.wolfram.com)

例如,

(304.25)10=3×102+0×10+4+2×10−1+5×10−2.(304.25)_{10} =3\times10^2+0\times10+4 +2\times10^{-1}+5\times10^{-2}.

在二进制中,同一原理给出

(101.01)2=4+1+14=5.25.(101.01)_2=4+1+\frac14=5.25.

表示底数的下标指明这些符号应如何解读,并不改变它们所表示的量。因此,数的书写表示与它所指代的数本身是不同的。(openstax.org)

数码、零与非位值系统

零用于保留没有数值贡献的数位。在 304 中,它表示十位没有贡献;去掉这个零就会得到另一个数 34。前导零通常不改变数值,但可以用于满足格式要求。因此,0034 和 34 表示同一个整数。(openstax.org)

数码的形状与位值原理是两回事。一个系统可以用单个字符或一组符号来表示每个数码的值。例如,巴比伦记数法在同一数位内组合表示一和十的符号,同时让各数位依次对应六十的各次幂。(mathshistory.st-andrews.ac.uk)

位值记数法与罗马数字等系统不同。罗马数字的符号具有相对固定的值,按照加法和减法规则组合。符号的顺序固然重要,但其所在位置并不对应某个底数的连续幂次。仅仅让符号顺序影响数值,并不足以使一种记数法成为位值记数法。(openstax.org)

历史发展

美索不达米亚的巴比伦书吏发展出一种六十进制位值系统,即以六十为底的系统。每个数位可表示的值最高为五十九。早期记数法缺乏统一使用的空位占位符,一个数的表示究竟对应多大的数值,往往取决于上下文。后来的书吏引入了占位符,但它的作用并不在所有方面都与现代作为数的零相同。(mathshistory.st-andrews.ac.uk)

玛雅人发展出另一种位值记数传统,采用二十进制,以点和横线构成数码,并使用零的符号。他们的历法记数法对数位权重作了调整,因此不能把所有玛雅数字都直接解读为二十的各次幂组成的序列。(openstax.org)

十进制位值记数法在印度发展起来,其发展历程与数码形状本身的演变并不相同。更早的婆罗米数字还不是完整的十进制位值系统。后来,包含零的印度位值记数法通过阿拉伯语学术著述传播,并传入欧洲。花拉子米推动了印度计算方法的传播,而斐波那契则在其 1202 年的《算盘书》(Liber abaci)中介绍了这些方法。(mathshistory.st-andrews.ac.uk)

算术与进制转换

位值为笔算算术提供了结构。加法要将权重相同的数位对齐。当某一列的和达到底数时,就把这一位的若干单位换成下一位的一个单位:在二进制中,1+1=1021+1=10_2。减法通过借位进行相反的换算。乘法则将各数码的乘积与相应的移位结合起来。(openstax.org)

将非负整数转换为另一进制的一种算法,是反复用目标底数作除法。所得余数依次给出从右到左的各位数码。反过来,计算一个数的表示中各数位的加权和,就能求出其数值。例如,将十三反复除以二,依次得到余数 1,0,1,11,0,1,1,逆序读取即为 110121101_2。(openstax.org)

小数展开与计算机运算

位值记数法也可以表示分数和实数。无限小数展开的含义由其有限截断值的极限确定。在通常的整数底数系统中,有理数的小数展开要么有限,要么从某一位起循环;无理数的小数展开则既不终止,也不会从某一位起周期性重复。某个分数能否表示为有限小数,取决于所用的底数。(maths.ucd.ie)

二进制记数法使用两种数码值,对应一个比特的两种可能取值。十六进制记数法使用十六种数码值,通常写作 0–9 和 A–F,可以紧凑地表示二进制数值。十进制的 0.1 在二进制中具有无限小数展开;因此,有限精度的二进制浮点运算通常存储的是近似值,而不是这个精确值。这是所选表示方式的局限,并不意味着数本身发生了变化。(openstax.org)

更广义的位值原理还允许采用混合进制系统、负底数和非整数底数。这些推广改变了数位权重或允许使用的表示形式,不一定具有通常的正整数底数记数法的全部性质。(mathworld.wolfram.com)