计算机是如何工作的:人人都能懂的计算机软硬件工作原理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 十进制数

我们通常用所谓的十进制位值记数法(decimal place-value notation)来书写数字。让我们来分析一下。位值记数法(或按位记数法)是指被书写数字的每个位置都代表一个不同的数量级,十进制(或以10为基数)是指数量级的因数是10,每个位置可以是0~9这十个不同符号中的一个,参见图1-1的位值记数法示例。

在图1-1中,该数字用十进制位值记数法写作275。5在个位上,代表它的值是5×1=5。7在十位上,代表它的值是7×10=70。2在百位上,代表它的值是2×100=200。所有位置代表的值的总和为5+70+200=275。

图1-1 十进制位值记数法表示的275

很容易吧?你可能在一年级就明白了。但是,让我们仔细研究一下为什么最右边的是个位?为什么下一个位置是十位?这是因为我们采用的是十进制,或者以10为基数,所以每个位置的权重就是10的幂,如图1-2所示,最右边的位置是10的0次幂,也就是1,下一个位置是10的1次幂,也就是10,再下一个位置是10的2次幂,也就是100。

图1-2 在十进制位值记数法中,每个位置的权重都是10的幂

如果需要用十进制表示大于999的数,就在左边再增加一位,即千位,它的权重等于10的3次幂(10×10×10),也就是1000。继续按这个模式扩展,我们就可以得到任意大的数字。

我们已经知道了为什么不同的位置有不同的权重,让我们继续深挖一下为什么每个位置都使用符号0~9?当使用十进制时,我们只有10个符号,因为根据定义,每个位置只能表示10个不同的值。0~9是目前所使用的符号,但其实可以使用任何一组10个具有唯一性的符号,这其中的每个符号对应一个特定的数值。

大多数人喜欢把以10为基数的十进制系统作为数字系统。据说这是因为我们有10个手指和10个脚趾,但不管理由是什么,现代世界的大多数人阅读、书写和思考数字时都使用十进制。当然,这只是我们集体选择用来表示数字的一种约定。正如我们前面提到的,这种约定不适合应用在计算机上,计算机只使用了两个符号。让我们看看在限定两个符号的同时,如何运用位值系统。