|
|
51CTO旗下网站
|
|
移动端

1.5.1 二进制记数法

《计算机科学概论(第12版)》第1章数据存储,在本章中,我们学习有关计算机中数据表示和数据存储的内容。我们要研究的数据类型包括文本、数值、图像、音频和视频。除了传统计算外,本章的很多内容还涉及数字摄影、音频/视频录制和复制,以及远程通信等领域。本节为大家介绍二进制记数法。

作者:刘艺/吴英/毛倩倩 译来源:人民邮电出版社|2018-01-28 20:18

1.5.1 二进制记数法

回顾十进制系统,表示中的每一个位置都与一个量值相关联。在375这个表示中,5的位置与量1相关联,7的位置与量10相关联,3的位置与量100相关联(见图1-13a)。每一个量值是它右边量值的10倍。整个表达式代表的数值是,每一个数字值与其位置的量值相乘所得积之和。举例说明:模式375表示(3×100)+(7×10)+(5×1),用更加技术性的表示法表示就是(3×102)+(7×101)+(5×100)。

在二进制记数法中,每个数字的位置也与一个量值相关联,只是与每个位置相关联的那个量值是它右边量值的两倍。更精确地说,在二进制表示中,最右边的数字与量值1(即20)相关联,其左边的下一个位置与量值2(即21)相关联,下一个与量值4(即22)相关联,再下一个与量值8(即23)相关联,依次类推。例如,在二进制表示1011中,最右边1的位置与量值1相关联,接下来一个1的位置与量值2相关联,0的位置与量值4相关联,最左边1的位置与量值8相关联(见图1-13b)。

为了求得二进制表示所表示的数值,我们可以采取和十进制相同的步骤:先求得每个数字值与其量值的积,再计算各个乘积之和。例如,100101表示的数值是37,如图1-14所示。需要注意的是,因为二进制记数法仅使用数字0和1,这种求积再求和的步骤就可以简化为求数字值为1的位置对应的量值的和。因此,二进制模式1011表示的是十进制数值11,因为3个1的位置分别与量值1、2和8相关联。

在1.4节中,我们学习了如何用二进制记数法计数,这就使得我们可以对小整数进行编码。为了求得大数值的二进制表示,你可能更倾向于图1-15所描述的算法。让我们利用这个算法来求十进制数值13的二进制表示(见图1-16)。首先,将13除以2,得到商数6和余数1。因为这个商不是0,步骤2告诉我们还要在商数(6)的基础上除以2,得到新的商数3和余数0。最新的商数仍然不为0,所以再除以2,得出商数1和余数1。再一次,将最新的商数(1)除以2,此时得到商数0和余数1。因为现在的商数是0,我们进入步骤3,从余数列中得到原数(13)的二进制表示1101。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

一目了然——Web软件显性设计之路

本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如何理解用户...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊