|
|
|
|
移动端

1.4.2 数值的表示

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

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

【新品产上线啦】51CTO播客,随时随地,碎片化学习

1.4.2 数值的表示

当所记录的信息只有数值时,以字符编码的形式存储信息效率就会很低。为了了解其中的原因,让我们来看看数值25的存储问题。如果我们坚持用ASCII编码符号来存储,每个符号一个字节,那么总共需要16个二进制位。此外,用16个二进制位可以存储的最大数是99。不过,我们马上就可以看到,使用二进制记数法(binary notation),16个二进制位可以存储0~65535范围内的任何一个整数。因此,二进制记数法(或它的变体)被广泛应用于计算机存储器中数值数据的编码。

二进制记数法是一种数值表示方法,只使用数字0和1,区别于传统的使用数字0、1、2、3、4、5、6、7、8和9的十进制记数系统。我们将在1.5节中更详细地学习二进制系统,现在只需要初步了解该系统。我们来考虑一种老式的汽车里程表,它的显示轮只包含数字0和1,而不是传统的十进制数字0~9。里程表以全0读数开始,在汽车行驶的前几英里,最右方的滚动显示轮从0旋转至1;当这个1旋转回0时,会使其左边出现一个1,产生模式10;接着,右边的0旋转至1,产生模式11;现在,最右边的数从1旋转回0,使得它左边的1也旋转回0,这就使另一个1出现在第3位上,产生模式100。简言之,在我们驾驶汽车时,将看到下列顺序的里程表读数:

  1. 0000  
  2. 0001  
  3. 0010  
  4. 0011  
  5. 0100  
  6. 0101  
  7. 0110  
  8. 0111  
  9. 1000 

这个序列包括了整数0~8的二进制表示。尽管这种计数技术有些冗长乏味,但是我们可以扩展它,发现16个1组成的位模式是可以表示数值65 535的,这就证实了我们的说法:0~65 535范围内的任何整数都可以利用16个二进制位进行编码。

由于它的高效性,数字信息通常使用某种形式的二进制记数法来存储,而不用编码符号。我们之所以说“某种形式的二进制记数法”,是因为上面描述的简单二进制系统只是机器里应用的若干数值存储技术的基础。本章后面会讨论一些二进制系统的变体。现在我们只需要知道,称为二进制补码(two’s complement)记数法(见1.6节)的系统通常用于存储整数,因为它提供了一种便利的表示负数和正数的方法。为了表示或这样带有分数部分的数,我们还要使用一种称为浮点记数法(floating-point notation)的技术(见1.7节)。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

基于Eclipse的开源框架技术与实战

当前,开源框架层出不穷,它为用户提供了通用的解决方案,同时也增加了用户的学习难度。开源是一把“双刃剑”,一方面它共享了资源,提供了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊