3.1.3 数的机器码表示

3.1.3 数的机器码表示

在计算机系统中,只能用二进制数来进行运算,但是人们在日常生活中更容易理解的是十进制数,还有字符、汉字、声音、图片等。那么,对于不是二进制数据的这些信息如何被计算机识别呢? 这就要用到编码的知识了。这些非二进制信息经过二进制编码后才能被计算机识别。本节介绍十进制数的二进制编码和字符的二进制编码。

1.二—十进制编码

对于人们熟悉的0~9这10个数字符号,要想表示成计算机能识别的二进制数码,就需要用二进制数码对十进制数字符号进行编码,现在普遍使用的是二—十进制编码(BCD码)。

由于十进制数共有0、1、2、3、4、5、6、7、8、9十个数码,因此,至少需要4位二进制码来表示1位十进制数。4位二进制码共有24=16种码组,在这16种代码中,可以任选10种来表示10个十进制数码,共有8 008种方案。

表3.1列出了几种常见的BCD 码。

表3.1 几种常见的BCD码

8421码也称BCD码,它是一种有权码,它由4位二进制数码构成,这4位二进制数码的权重分别是8421。它是用0000~1001分别表示10位十进制数0~9。2421码和8421码极其类似,两者唯一的区别是权不同,2421码顾名思义,权为2421。因此,2421码是用0000~1111来表示10位十进制数0~9。余3码是在8421码的基础上,把每个代码加0011码而形成。

2.ASCII码

ASCII码是美国标准信息交换代码的简称(American Standard Code for Information Interchange)。它是一组7位二进制数码,用来表示十进制数、英文字母和常用符号。

美国标准信息交换代码是由美国国家标准学会(American National Standard Institute,ANSI)制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于20世纪50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织(International Organization for Standardization,ISO)定为国际标准,称为ISO 646标准。它适用于所有拉丁文字字母。

我们知道,在计算机系统中,数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如∗、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套规则(这就称为编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国国家标准学会就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。