《计算机组成原理》第2章:数字化信息编码.ppt
《《计算机组成原理》第2章:数字化信息编码.ppt》由会员分享,可在线阅读,更多相关《《计算机组成原理》第2章:数字化信息编码.ppt(96页珍藏版)》请在三一办公上搜索。
1、第2章 数字化信息编码与数据表示,(时间:3次课,6学时),第2章 数字化信息编码与数据表示,本章介绍数字化信息编码的基本概念、常用的信息编码及计算机中数字数据的表示和转换。,第2章 数字化信息编码与数据表示,2.1 数字化信息编码的概念 2.2 常用的信息编码 2.3 计算机中数值数据的表示 2.4 数据校验码,2.1 数字化信息编码的概念,1.编码 所谓编码,就是用少量简单的基本符号,选用一定的组合规则,以表示出大量复杂的信息。2.编码的两大要素 基本符号的种类和这些符号的组合规则是一切编码的两大要素。3.多重编码 当基本符号数量很多时,往往还要采取措施,以便能使用更少量而简单的基本符号来
2、表示那些量大而复杂的基本符号,这就构成了多重编码。汉字编码是多重编码的典型例子。,2.1 数字化信息编码的概念,4.计算机系统中的编码 由于计算机系统中的一切信息只能以二进制数据来表示,因此在计算机系统中,广泛采用的是仅用0和1两个基本符号组成的基2码,或称为二进制码。基2码是进一步对各种基本编码符号进行重编码的媒介。,2.2 常用的信息编码,计算机中可以进行处理的信息类型是比较多的,对不同类型的数据要进行不同的编码。本节重点讲解计算机内常用的信息编码方案,包括中西文字符编码、逻辑型数据的表示、数值型数据的表示与编码、不同进位数据间的转换、二进制数据算术与逻辑运算规则。,2.2 常用的信息编码
3、,2.2.1 字符编码 2.2.2 中文的编码表示 2.2.3 逻辑数据的表示 2.2.4 数值数据的表示与编码,2.2.1 字符编码,字符是计算机系统中使用最多的信息之一。在计算机系统中,要为每个字符指定一个确定的编码,作为识别与使用这些字符的依据。这些编码的值,是用一定位数的基2码的两个基本符号1和0进行重编码给出的。,2.2.1 字符编码,1.ASCII 码 使用最多、最普遍的是ASCII字符编码,即American Standard Code for Information Interchange,如表2-1所示。2.EBCDIC码 EBCDIC码主要用在IBM计算机中。它采用8位码,
4、有256个编码状态,但只选用其中一部分。3.字符串的表示 字符串是指连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。主存中每个字节存的都是相应字符的ASCII编码值。,表2-1 ASCII 码,2.2.2 中文的编码表示,我国是个多民族的国家,共有近60种民族文字,其中用得最广的是汉字,其他还有蒙、藏、朝鲜、僮、苗、哈尼、维吾尔等多种文字。计算机中文处理系统,应尽可能地处理各种中文文字,但其中最关键的技术是很好地解决汉字的编码方案、存储技术和输入/输出方法。,2.2.3 逻辑数据的表示,很容易想到,用计算机中的基2码的两个状态1和0恰好能表示两个逻辑数据。例如,若
5、用1表示真,则0就表示假。注意,这里的1和0没有了数值和大小的概念,只有逻辑上的意义。对逻辑数据只能进行逻辑运算,产生逻辑数据结果,以表达事物内部的逻辑关系。,2.2.4 数值数据的表示与编码,2.2.4 数值数据的表示与编码,在计算机中最普遍的方法,是用二进制数表示数值数据,包括整数、纯小数和实数(通称浮点数),这有利于减少所用存储单元的数量,便于实现算术运算。为了更有效地、方便地表示负数,对二进制数又可以选用原码、反码、补码、移码等多种编码方案。,2.3 数值数据的表示、转换和运算,本节讲解数制与进位记数法、各种进制的数值数据之间的相互转换、二进制数的运算规则、二进制数在计算机内的表示、十
6、进制数的编码与运算。,2.3 数值数据的表示、转换和运算,2.3.1 数制与进位记数法2.3.2 数据的转换 2.3.3 二进制数的运算规则 2.3.4 二进制数在计算机内的表示 2.3.5 十进制数的编码与运算,2.3.1 数制与进位记数法,1.基 r 数制 在采用进位记数的数字系统中,如果只用r个基本符号(0,1,2,r-1)表示数值,则称其为基r数制,r称为该数制的基。假定数值N用m+k个自左向右排列的代码Di(-Kim-1)表示,即,式中的Di(-Kim-1)为该数制采用的基本符号,可取值0,1,2,r-1,小数点位置隐含在D0与D-1位之间,则Dm-1D1D0为N的整数部分,D-1D
7、-2D-k为N的小数部分。,(2-1),2.3.1 数制与进位记数法,2.位权 若每一个Di的单位值都赋予固定的值Wi,则称Wi为Di位的权,此时的数制称为有权的基r数制。此时N代表的实际值可表示为:,如果该数制的编码还符合“逢r进位”的规则,则每一位的权(简称位权)可表示为:,式中的r是数制的基,i为位序号。式(2-2)又可以写为:,(2-2),(2-3),(2-4),2.3.1 数制与进位记数法,此时该数制被称为r进位数制,简称r进位制。下面是计算机中常用的几种进位数制:二进制:r=2,基本符号 0,1八进制:r=8,基本符号 0,1,2,3,4,5,6,7十六进制:r=16,基本符号 0
8、,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十进制:r=10,基本符号 0,1,2,3,4,5,6,7,8,9 如果每一位Di都具有相同的基,则采用同样的基本符号集来表示,则称该数制为固定基数制,这是计算机内普遍采用的方案。,2.3.2 数据的转换,二、八、十六进制数据转换为十进制数据 十进制数值N和用于表示它的多个R进制位间的关系为:,式中,若R=2,表示二进制数,此时,Di可以为1或0;若R=8,表示八进制数,则Di可以为0、1、2、3、4、5、6、7这8个数字中的任何一个;若R=16,表示十六进制数,则Di可以为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、
9、F这16个字符中的任何一个。,2.3.2 数据的转换,现在以R=2为例,来说明如何将二进制数转换为十进制数。按下式计算:(1101.0101)2=123+122+021+120+02-1+12-2+02-3+12-4=8+4+1+0.25+0.0625=(13.3125)10 熟练地记清二进制数每位上的位权是有益的。当位序号为012时,其各位上的位权依次为1、2、4、8、16、32、64、128、256、512、1024、2048、4096。2.十进制数据转换为二、八、十六进制数据,2.3.2 数据的转换,1)十进制数转换为二进制数 十进制数到二进制数的转换,通常要区分数的整数部分和小数部分,
10、分别按除2取余数和乘2取整数两种不同方法来完成。例:将十进制整数245转换为二进制整数,按下列步骤操作。(1)用2去除给出的十进制整数,得到商和余数。记下余数,为转换后的二进制整数的最低位数字。(2)再用2去除所得的商,得到新的商和新的余数。记下余数,为转换后的二进制整数的高一位的数字。(3)重复执行步骤(1),直到商为0结束转换过程。这样,(245)10=(11110101)2。,2.3.2 数据的转换,2.3.2 数据的转换,例:将十进制小数0.37转换成二进制小数。(1)用2去乘小数0.37,得0.74,取出整数部分0,是二进制小数的最高位。(2)用2去乘小数0.74,得1.48,取出整
11、数部分1,是二进制小数的次高位。(3)用2去乘小数0.48,得0.96,取出整数部分0,是二进制小数的次高位后面一位。(4)依此类推。结果有两种情况:可能到某一次后,小数部分全为0;也可能小数部分永远不会为全0。可以根据自己的实际需要取到某位小数。在本例中,取到5位小数。这样,(0.37)10=(0.01011)2。,2.3.2 数据的转换,例:将十进制数6.375转换成二进制数。这里既有整数部分,也有小数部分。因此应分两次进行。可以先转换其整数部分,再转换其小数部分,然后再将两部分结果合起来,就得到了转换后的最终结果。这样,(6.375)10=(110.011)2。2)十进制数转换为八进制数
12、十进制数到八进制数的转换,也要区分数的整数部分和小数部分,分别按除8取余数和乘8取整数两种不同方法来完成。例:将十进制整数1013转换为八进制整数。,2.3.2 数据的转换,(1)用8去除十进制整数1013,得到商126和余数5。记下余数,为转换后的八进制整数的最低位数字。(2)再用8去除所得的商126,得到新的商15和新的余数6。记下余数,为转换后的八进制整数的高一位的数字。(3)再用8去除所得的商15,得到新的商1和新的余数7。记下余数,为转换后的八进制整数的更高一位的数字。(4)再用8去除所得的商1,得到新的商0和新的余数1。记下余数,为转换后的八进制整数的最高一位的数字。这样,(101
13、3)10=(1765)8。,2.3.2 数据的转换,例:将十进制小数0.385转换为八进制小数。(1)用8去乘小数0.385,得3.08,取出整数部分3,是八进制小数的最高位。(2)用8去乘小数0.08,得0.64,取出整数部分0,是八进制小数的次高位。(3)用8去乘小数0.64,得5.12,取出整数部分5,是八进制小数的次高位后面一位。(4)依此类推。结果有两种情况:可能到某一次后,小数部分全为0;也可能小数部分永远不会为全0。可以根据自己的实际需要取到某位小数。在本例中,取到3位小数。这样,(0.385)10=(0.305)8。,2.3.2 数据的转换,3)十进制数转换为十六进制数十进制数
14、到十六进制数的转换,也要区分数的整数部分和小数部分,分别按除16取余数和乘16取整数两种不同方法来完成。例:将十进制整数1013转换为十六进制整数。(1)用16去除给出的十进制整数1013,得到商63和余数5。记下余数,为转换后的十六进制整数的最低位数字。(2)再用16去除所得的商63,得到新的商3和新的余数F(15)。记下余数,为转换后的十六进制整数的高一位的数字。,2.3.2 数据的转换,(3)再用16去除所得的商3,得到新的商0和新的余数3。记下余数,为转换后的十六进制整数的最高一位的数字。这样,(1013)10=(3F5)16。例:将十进制小数0.385转换为十六进制小数。(1)用16
15、去乘小数0.385,得6.16,取出整数部分6,是十六进制小数的最高位。(2)用16去乘小数0.16,得2.56,取出整数部分2,是十六进制小数的次高位。(3)用16去乘小数0.56,得8.96,取出整数部分8,是十六进制小数的次高位后面一位。,2.3.2 数据的转换,(4)依此类推。结果有两种情况:可能到某一次后,小数部分全为0;也可能小数部分永远不会为全0。可以根据自己的实际需要取到某位小数。在本例中,取到3位小数。这样,(0.385)10=(0.628)16。3.二进制数与八进制、十六进制数的关系 由于log28=3,log216=4,可知一位八进制数可以用3位二进制的数重编码来得到,一
16、位十六进制数可以用4位二进制的数重编,2.3.2 数据的转换,码得到,故人们通常认为,在计算机这个领域,八进制数和十六进制数,只是二进制数的一种特定的表示形式;但计算机硬件只识别二进制数。把二进制数转换成八进制数的表示形式,其方法是:从小数点开始,向左向右分别按每3位分成一组;当最高一组不足3位时,在其前补足0,保证为3位;当最低一组不足3位时,在其后补足0,保证为3位。然后分组按八进制数运算,把得到的结果依次排列起来,得到需要的结果。例如:(1101011.11101101)2=(001 101 011.111 011 010)2=(153.732)8,2.3.2 数据的转换,把二进制数转换
17、成十六进制数的表示形式,其方法是:从小数点开始,从左向右分别按每4位分成一组;当最高一组不足4位时,在其前补足0,保证为4位;当最低一组不足4位时,在其后补足0,保证为4位。然后分组按十六进制数运算,把得到的结果依次排列起来,得到需要的结果。例如:(1101011.111011)2=(0110 1011.1110 1100)2=(6B.EC)16 八进制数和十六进制数之间的转换,经过二进制的中间结果是十分方便的。,2.3.3 二进制数的运算规则,1.加法规则 0+0=0 0+1=1 1+0=1 1+1=10(当对应位都是1时,相加后本位为0,并向高位产生进位)例如:,2.3.3 二进制数的运算
18、规则,2.减法规则0-0=00-1=1(要向高位借位1次)1-0=11-1=0例如:,2.3.3 二进制数的运算规则,3.乘法规则00=001=010=011=1例如:,2.3.3 二进制数的运算规则,4.除法规则 与十进制除法类似,也由减法、上商等操作逐步完成。例如:,2.3.3 二进制数的运算规则,5.逻辑或运算规则(运算符号为)00=001=110=111=1逻辑运算是在对应的两个二进制位之间进行的,与相邻的高低位值无关。,2.3.3 二进制数的运算规则,6.逻辑与运算规则(运算符号为)00=001=010=011=1,2.3.3 二进制数的运算规则,8.逻辑异或运算规则(运算符为)逻辑
19、与、或、非操作是3种最基本的操作,用它们可以组合出任何逻辑功能。但在某些情况下,独立使用逻辑异或操作更方便些。,7.逻辑非运算规则(运算符为),0 0=00 1=11 0=11 1=0,2.3.4 二进制数在计算机内的表示,数值数据是用于表示数量的大小。讨论数值数据时,经常用到数值范围和数据精度两个概念。数值范围是指一种类型的数据所能表示的最大值;数据精度,通常用实数所能给出的有效数字的位数表示。这两个概念是不一样的。1.定点小数、整数与浮点数 二进制数,主要分成定点小数、整数与浮点数三类来加以讨论。先说明这三类二进制数的一般表示,再详细讨论其具体编码形式。1)定点小数的表示方法 定点小数是指
20、小数点准确固定在数据某个位置上的,2.3.4 二进制数在计算机内的表示,小数。从实用上看,都把小数点固定在最高数据位的左边,但这只是默认,并不占位;小数点前边再设一位符号位,0表示正号,1表示负号。按此规则,任何一个小数都可以被写成 N=NsN-1N-2N-m 这里用m+1个二进制位表示一个小数,最高一位表示符号,那么所能表示的二进制小数之值为:|N|1-2-m,2.3.4 二进制数在计算机内的表示,2)整数的表示方法 整数所表示的数据的最小单位为1,可以认为它是小数点定在数值最低位右边的一种数据。整数又被分为带符号和不带符号的两类。对带符号的整数来说,符号位被安排在最高位,任何一个带符号的整
21、数都可以被写成 N=NsNn-1N2N1N0 对于用n+1位二进制位(包括符号位)表示的带符号的二进制整数,其值的范围为|N|2n-1,2.3.4 二进制数在计算机内的表示,对不带符号的整数来说,所有的n+1个二进制位均被视为数值,此时数值的范围是 0N2n+1-1 3)浮点数的表示方法 浮点数是指小数点在数据中的位置可以左右移动的数据,它通常被表示成 N=MRE 这里的M被称为浮点数的尾数,R被称为阶的基数,E 被称为阶的阶码。计算机中一般规定R为2、8或16,是一个常数,不需要在浮点数中明确表示出来。因此,要表示浮点数,一是要给出尾数M,通常用定点小数形式表示,它决定了浮点数的表示,2.3
22、.4 二进制数在计算机内的表示,精度,即可以给出的有效数字的位数;二是要给出阶码,通常用整数形式表示,它指出的是小数点在数据中的位置,决定了浮点数的表示范围。浮点数也是有正、负的,因此也要有符号位。在计算机中,浮点数通常被表示成如下格式:,2.3.4 二进制数在计算机内的表示,合理地选择m和n的值是十分重要的,以便在总长度为1+m+n个二进制位表示的浮点数中,既保证有足够大的数值范围,又保证有所要求的数值精度。若不对浮点数的表示做出明确规定,同一个浮点数的表示就不是唯一的。为了提高数据的表示精度,也为了便于浮点数之间的运算与比较,规定计算机内浮点数的尾数部分用纯小数形式给出,而且当尾数的值不为
23、0时,其绝对值应大于或等于0.5,对于不符合这一规定的浮点数,要通过修改阶码并同时左右移尾数的办法使其变成满足这一要求的表示形式,这种表示方式被称为浮点数的规格化表示。,2.3.4 二进制数在计算机内的表示,当一个浮点数的尾数为0,不论其阶码为何值,该浮点数的值都为0。当阶码的值比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,通常称其为机器0,此时浮点数的所有各位(包括阶码位和尾数位)都清为0值。按IEEE标准,常用的浮点数的格式如表2-2所示。,表2-2 浮点数格式的IEEE标准,2.3.4 二进制数在计算机内的表示,2.二进制数值数据的编码方案 二进制数值数据,包括
24、二进制表示的定点小数、整数和浮点数。这里讲的编码方法,主要是考虑如何能方便地表示正数、零和负数,并尽可能地有利于简化对它们实现算术运算用到的规则。很容易想到,数据的符号的正与负,可用一位二进制数的0和1两个状态加以表示。数据的数值用多位二进制数表示。最常用的编码方法有原码表示、补码表示和反码表示三种方法。为了讨论的方便,通常称表示一个数值数据的机内编码为机器数,而把它所代表的实际值称为机器数的真值。,2.3.4 二进制数在计算机内的表示,1)定点小数的编码方案 用定点小数引出数值的三种编码(原码、补码和反码)方法是最方便的。(1)原码表示法。用机器数的最高一位代表符号,以下各位给出数值的绝对值
25、的表示方法。其定义为,例如:X=+0.1011 X原=01011X=-0.1011 X原=11011,2.3.4 二进制数在计算机内的表示,原码具有如下性质。原码表示中,机器数的最高位是符号位,0代表正号,1代表负号,以下各位是数的绝对值,即X原=符号位+|X|,小数位置是默认的,故小数点并不表示出来。原码表示中,零有两种表示形式,即+0原=00000-0原=10000 原码表示方法的优点是,在数的真值和原码表示之间的对应关系很简单,缺点是用原码实现加减运算很不方便。,2.3.4 二进制数在计算机内的表示,(2)补码表示法。用机器数的最高一位代表符号,以下各位给出数值按2取模的结果的表示方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理 计算机 组成 原理 数字化 信息 编码
链接地址:https://www.31ppt.com/p-5904124.html