《计算机组成原理》----2.2数字

    xiaoxiao2024-05-08  9

    本节书摘来自华章出版社《计算机组成原理》一书中的第2章,第2.2节, 作 者 Computer Organization and Architecture: Themes and Variations[英]艾伦·克莱门茨(Alan Clements) 著,沈 立 王苏峰 肖晓强 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    2.2 数字

    用来计数的数字(即1,2,3,4,…)被称作自然数,因为它们并不依赖于数学而存在——无论地球上是否有人去数,猎户座的腰带上总是3颗星。我们用十进制或十进制系统计数,因为它有0~9共10个符号(对应于人手指的个数)。

    并非所有数字都是自然数。人们发明了负数来处理如银行存款余额等情况。还创造出实数描述123.456和13/14那样的数。实数可分为有理数和无理数。有理数可被表示为分数(如7/12),而无理数不能被表示为一个整数除以另一个的形式,例如π或。

    现代数字系统中,有一个符号表示0,这是在1400年前后由阿拉伯世界传入欧洲的。该系统使用位置记数法表示十进制数,每个数位的值或权取决于它在数字中的位置,例如数1261中6的值就是数126中6的10倍。十进制数1261等于1×1000+2×100+6×10+1×1。在位置记数法中,当一个数只剩一位时所乘的值称作基数。

    2.2.1 位置记数法

    按照位置记数法,一个n位的整数N将按照下面的形式书写:an-1, an-2,…, ai,…,a1a0这里ai(i=0,1,...,n–1)是与b的幂相乘的系数(此处b为基数)。例如,当基数为10时,我们可以将N=278写作a2a1a0,这里a2=2,a1=7,a0=8。用小数点(例如,十进制小数点基于十进制运算,而二进制小数点基于二进制运算)将整数部分和小数部分分开,可以对位置记数法进行扩展,使其能够表示实数。十进制运算中的实数按照形如1234.567的方式书写。一个小数点前有n位,小数点后有m位的实数被表示为an-1an-2…ai…a1a0.a-1a-2…a-m。

    一个用基数为b的位置记数法表示的数的值被定义为:N = an-1bn-1+…+ a1b1+ a0b0+ a-1b-1+ a-2b-2+…+ a-mb-m=

    采用位置记数法,一个数的数值等于它各位值的总和,而每一位的值则是该位的数值乘以它在数中的位置所对应的权。例如,十进制数1982等于1×103+9×102+8×101+2×100。对于任意基数b,b0的值总是1。

    当基数为2时,二进制数10110.11的值为1×24+0×23+1×22+1×21+0×20+1×2-1+1×2-2,或用十进制表示为16+4+2+0.5+0.25=22.75。为了区分十进制数、二进制数和十六进制数,我们分别用下标10、2和16表示基数(例如123410、10100112和12A316)。不过,若一个数的基数是显而易见的,则可以将下标省略掉。

    计算机科学家对4种数制感兴趣:十进制、二进制、八进制和十六进制(十六进制通常被缩写为hex)。八进制数现在使用不多,因此本书不再讨论。表2-2列出了每种数制所使用的数字。由于十六进制数有16个数字,字母A~F分别表示数值10~15。例如,12CF16包括数字1、2、12和15。人们用十六进制数表示位数很多的二进制数。例如,8位二进制数10001001等于十六进制数89,后者更容易记。

    最新回复(0)