计算机组成原理
第2章 计算机中的数制及编码
2.1计算机中的数制及数的转换
迄今为止,所有计算机都以二进制形式进行算术运算和逻辑操作,因此,对于用户在键盘上输入的十进制数字和符号命令,计算机必须先把它们转换成二进制形式进行识别、运算和处理,然后再把运算结果还原成十进制数字和符号,并在显示器上显示出来.
2.1.1 计算机中的数制
- 十进制(Decimal)
- 二进制(Binary)
- 十六进制(Hexadecimal)
2.1.2 不同数制间数的转换
- 二和十进制转换
- 十和十六进制转换
- 二和十六进制转换
“四位合一法”
2.2 二进制数的运算
- 算数运算
- 逻辑运算
2.3 计算机中数和字符的编码
2.3.1 BCD码和ASCII码
BCD码(Binary Coded Decimal,十进制数的二进制编码)和ASCII码(American Standard Code for Information Interchange,美国信息交换标准码)是计算机中两种常用的二进制编码.前者称为十进制数的二进制编码,后者是对键盘上输入字符的二进制编码.
-
BCD码
(1)8421码
8421码也是BCD码中的一种,因组成它的4位二进制数码的权为8、4、2、1而得名.8421码是一种采用4位二进制数来代表十进制数码的代码系统,在这个代码系统中,10组4位二进制数分别代表了0~9中的10个数字符号 -
ASCII码(字符编码)
ASCII码由7位二进制数码构成,共可为128个字符编码,这128个字符共分两类:一类是图形字符,共96个;另一类是控制字符,共32个.96个图形字符包括十进制数符10个、大小写英文字母52个以及其他字符34个,这类字符有特定形状,可以显示在显示器上或打印在打印纸上,其编码可以存储、传送和处理.32个控制字符包括回车符、换行符、退格符、设备控制符和信息分隔符等等,这类字符没有特定形状,其编码虽然可以存储、传送和起某种控制作用,但字符本身是不能在显示器上显示或在打印机上打印的.
2.3.2 汉字的编码
- 国标码(GB2312)
- 区位码
- 汉字机内码
2.3.3校验码编码和解码
-
奇偶校验码编码
奇校验要求编码后的校验码中“1”的个数(包括有效信息位和奇校验位)为奇数,
偶校验要求编码后的校验码中“1”的个数(包括有效信息位和偶校验位)为偶数. -
海明码编码
海明码的码位有(n+k)位,n为有效信息的位数,k为奇偶校验位位数.k个奇偶校验位有2k种组合,除采用一种组合指示信息在传送或读出过程中有无错误外,尚有(2k-l)种组合可以用来指示出错的码位.因此,若要能指示海明码中任意一位是否有错,则校验码的位数k必须满足如下关系:2k≥n+k+1 -
循环冗余校验码
循环冗余校验码(CRC:Cyclic Redundancy Check)可以发现并纠正信息存储或传输过程中连续出现的多位错误,这在辅助存储器(如磁表面存储器)和计算机通信方面得到了广泛的应用.
CRC码是一种基于模2运算(即以按位模2相加为基础的四则运算,运算时不考虑进位和借位)建立编码规律的校验码,可以通过模2运算来建立有效信息位和校验位之间的约定关系.这种约定关系为:假设n是有效数据信息位位数,r是校验位位数.则n位有效息位与r位校验位所拼接的数(k=n+r位长),能被某一约定的数除尽.