1、计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第1页第第2章章计算机中的数据表示计算机中的数据表示 计算机组成原理计算机组成原理(第二版第二版)清华大学出版社清华大学出版社教学目标教学重点教学过程计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第2页教学目标教学目标l数据在计算机中的表示方法及编码形式数据在计算机中的表示方法及编码形式l掌握进位计数制和数制之间的转换掌握进位计数制和数制之间的转换l掌握数与字符的表示方法及校验方法掌握数与字符的表示方法及校验方法计算机组成原理(第二版)计算机组成原理
2、(第二版)清华大学出版社清华大学出版社2023年1月26日第3页教学重点教学重点l进位计数制和数制之间的转换进位计数制和数制之间的转换l定点数和浮点数定点数和浮点数l带符号数的表示方法带符号数的表示方法l字符编码字符编码l数据校验码数据校验码计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第4页教学过程教学过程l2.1 数据、信息和媒体数据、信息和媒体l2.2 进位计数制进位计数制l2.3 定点数和浮点数定点数和浮点数l2.4 带符号数的表示方法带符号数的表示方法l2.5 十进制数据表示十进制数据表示l2.6 字符编码字符编码l2.7 数据校验码
3、数据校验码 l2.8 例题解析例题解析计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第5页2.1 数据、信息和媒体数据、信息和媒体 (1/4)l数据:是对事实、概念或指令的一种特殊表达形数据:是对事实、概念或指令的一种特殊表达形式,可以用人工方式或自动化装置进行通信、翻式,可以用人工方式或自动化装置进行通信、翻译转换或加工处理。译转换或加工处理。数值型数据:具有特定值的一类数据,可用来数值型数据:具有特定值的一类数据,可用来表示数量的多少,可比较其大小。表示数量的多少,可比较其大小。非数值型数据:包括字符数据、逻辑数据、图非数值型数据:包括字符
4、数据、逻辑数据、图画、声音和活动图像数据等。画、声音和活动图像数据等。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第6页2.1 数据、信息和媒体数据、信息和媒体 (2/4)l信息:对人有用的数据,这些数据可能影响到人信息:对人有用的数据,这些数据可能影响到人们的行为和决策。们的行为和决策。l信息处理:通过数据的采集和输入,有效地把数信息处理:通过数据的采集和输入,有效地把数据组织到计算机中,由计算机系统对数据进行相据组织到计算机中,由计算机系统对数据进行相应的处理加工(如:存储、建库、转换、合并、应的处理加工(如:存储、建库、转换、合并、分类
5、、计算、统计、汇总、传送等操作),最后分类、计算、统计、汇总、传送等操作),最后向人们提供有用的信息的全过程。向人们提供有用的信息的全过程。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第7页2.1 数据、信息和媒体数据、信息和媒体 (3/4)l媒体:承载信息的载体。与计算机信息处理有关的媒体:媒体:承载信息的载体。与计算机信息处理有关的媒体:感觉媒体:能使人听觉、视觉、嗅觉、味觉和触觉器感觉媒体:能使人听觉、视觉、嗅觉、味觉和触觉器官直接产生感觉的一类媒体,如声音、文字、图画、官直接产生感觉的一类媒体,如声音、文字、图画、气味等,它们是人类使
6、用信息的有效形式。气味等,它们是人类使用信息的有效形式。表示媒体:为了使计算机有效地加工、处理、传输感表示媒体:为了使计算机有效地加工、处理、传输感觉媒体而在计算机内部采用的特殊表示形式,即声、觉媒体而在计算机内部采用的特殊表示形式,即声、文、图、活动图像的二进制编码表示。文、图、活动图像的二进制编码表示。存储媒体:用于存放表示媒体以便计算机随时加工处存储媒体:用于存放表示媒体以便计算机随时加工处理的物理实体,如磁盘、光盘、半导体存储器等。理的物理实体,如磁盘、光盘、半导体存储器等。表现媒体:用于把感觉媒体转换成表示媒体进而转换表现媒体:用于把感觉媒体转换成表示媒体进而转换为感觉媒体的物理设备
7、,如计算机的输入输出设备为感觉媒体的物理设备,如计算机的输入输出设备 传输媒体:用来将表示媒体从一台计算机传递到另一传输媒体:用来将表示媒体从一台计算机传递到另一台计算机的通信载体,如同轴电缆、光纤、电话线等台计算机的通信载体,如同轴电缆、光纤、电话线等计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第8页2.1 数据、信息和媒体数据、信息和媒体 (4/4)l数字化编码:用少量最简单的基本符号,数字化编码:用少量最简单的基本符号,对大量复杂多样的信息进行一定规律的组对大量复杂多样的信息进行一定规律的组合。合。l一切信息编码的两大要素一切信息编码的
8、两大要素 基本符号的种类基本符号的种类 组合规则组合规则计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第9页计算机内部采用的二进制表示方式的原因计算机内部采用的二进制表示方式的原因 1、二进制只有两个数码、二进制只有两个数码“0”和和“1”,易于用物理器件表示。,易于用物理器件表示。这些物理状态都是不同的质的变化,形象鲜明、易于区别,这些物理状态都是不同的质的变化,形象鲜明、易于区别,并且数的存储、传送和处理可靠性高。并且数的存储、传送和处理可靠性高。2、运算规则简单,操作实现容易、运算规则简单,操作实现容易3、二进制加、减、乘、除运算,可以归
9、结为加、减、移位、二进制加、减、乘、除运算,可以归结为加、减、移位三种操作。三种操作。4、理论和实践证明,采用、理论和实践证明,采用R=e=2.71828进制时,存储设备进制时,存储设备最省,取最省,取3比取比取2更节省设备,但二进制比三进制易于表示更节省设备,但二进制比三进制易于表示 5、二进制中的、二进制中的“1”和和“0”与逻辑命题中的与逻辑命题中的“真真”、“假假”相对应,为计算机实现逻辑运算和程序中的逻辑判断创造相对应,为计算机实现逻辑运算和程序中的逻辑判断创造了良好条件。了良好条件。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第1
10、0页2.2 进位计数制进位计数制l2.2.1 进位基数和位的权数进位基数和位的权数l2.2.2 二进制数制二进制数制l2.2.3 八进制数制八进制数制l2.2.4 十六进制数制十六进制数制l2.2.5 数制之间的相互转换数制之间的相互转换计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第11页2.2.1 进位基数和位的权数进位基数和位的权数l基数:计数制中用到的数码的个数,用基数:计数制中用到的数码的个数,用R表示。表示。l位权:以基数为底的指数,指数的幂是数位的序位权:以基数为底的指数,指数的幂是数位的序号。号。l对一个数对一个数S,其基数为,
11、其基数为R,则:,则:1-n-miiim-m-1-1-00112-n2-n1-n1-nm-2-1-0122-n1-nRK )RKRKRKRKRKRK()KK.KKKKK(K)(RS计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第12页计算机常用各种进制数的表示计算机常用各种进制数的表示进位制进位制二进制二进制八进制八进制十进制十进制十六进制十六进制规则规则逢二进一逢二进一逢八进一逢八进一逢十进一逢十进一逢十六进一逢十六进一基数基数R=2R=8R=10R=16基本符号基本符号0,10,1,2,70,1,2,90,1,.,9,A,.,F权权2i8i
12、10i16i形式表示形式表示BODH计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第13页2.2.5 数制之间的相互转换数制之间的相互转换l二、八、十六进制数转换为十进制数二、八、十六进制数转换为十进制数l十进制数转换为二、八、十六进制数十进制数转换为二、八、十六进制数 十进制数转换为二进制十进制数转换为二进制 十进制数转换为八进制、十六进制数十进制数转换为八进制、十六进制数l二进制数和八进制数、十六进制数的转换二进制数和八进制数、十六进制数的转换 二进制数转换为八、十六进制数二进制数转换为八、十六进制数 八、十六进制数转换为二进制数八、十六进
13、制数转换为二进制数计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第14页二、八、十六进制数转换为十进制数二、八、十六进制数转换为十进制数(1/2)例例2-1 将将(11011.11)2转换为十进制数转换为十进制数 解:解:(11011.11)2 =124+123+022+121+120+12-1+12-2 =(27.75)101-n-miiim-m-1-1-00112-n2-n1-n1-nm-2-1-0122-n1-nRK )RKRKRKRKRKRK()KK.KKKKK(K)(RS计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清
14、华大学出版社2023年1月26日第15页二、八、十六进制数转换为十进制数二、八、十六进制数转换为十进制数(2/2)例例2-2 将将(732.6)8转换为十进制数转换为十进制数 解:解:(732.6)8 =782+381+280+68-1 =(474.75)10例例2-3 将将(A5C.B2)16转换为十进制数转换为十进制数 解:解:(A5C.B2)16 =10162+5161+12160+1116-1+216-2 =(2652.6953125)10计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第16页十进制转换为二进制数十进制转换为二进制数 (
15、1/3)l任一十进制数任一十进制数N,N=N整整+N小小。将这两部分分开转换。将这两部分分开转换整数部分的转换:采用整数部分的转换:采用“除除2求余法求余法”,转换方法为:连,转换方法为:连续用续用2除,求得余数(除,求得余数(1或或0)分别为)分别为K0、K1、K2、,直,直到商为到商为0,所有余数排列,所有余数排列Kn-1Kn-2K2K1K0 即为所转换的即为所转换的二进制整数部分。二进制整数部分。小数部分的转换:采用小数部分的转换:采用“乘乘2取整法取整法”。转换方法为:连。转换方法为:连续用续用2乘,依次求得各整数位(乘,依次求得各整数位(0或或1)K-1、K-2、K-m,直到乘积的小
16、数部分为直到乘积的小数部分为0。在小数转换过程中,出现。在小数转换过程中,出现Fi恒恒不为不为0时,可按精度要求确定二进制小数的位数。时,可按精度要求确定二进制小数的位数。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第17页十进制转换为二进制数十进制转换为二进制数 (2/3)例例2-4 求求(43)10的二进制表示的二进制表示 解:解:除以除以2 商商Qi 余数余数Ki 43/221 K0=1 21/210 K1=1 10/2 5 K2=0 5/2 2 K3=1 2/2 1 K4=0 1/2 0 K5=1 (43)10=(101011)2计算
17、机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第18页十进制转换为二进制数十进制转换为二进制数 (3/3)例例2-5 求求(0.6875)20的二进制值的二进制值解:解:乘以乘以2小数小数Fi整数整数Ki 0.687520.3750K-1=1 0.375020.7500K-2=0 0.750020.5000K-3=1 0.500020.0000K-4=1 (0.6875)10=(0.1011)2计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第19页十进制数转换为八进制数、十六进制数十进制数转换为八进
18、制数、十六进制数l将十进制数转换为八进制数、十六进制数将十进制数转换为八进制数、十六进制数时,使用的方法与十进制数转换成二进制时,使用的方法与十进制数转换成二进制数的方法基本相同,只是求整数部分时是数的方法基本相同,只是求整数部分时是用商除以用商除以8或或16,取其余数;小数部分改用,取其余数;小数部分改用乘以乘以8或或16,取其整数即可。,取其整数即可。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第20页二进制数与八进制、十六进制数间的转换二进制数与八进制、十六进制数间的转换 二进制转化成八二进制转化成八(十六十六)进制进制l整数部分:从右
19、向左按三整数部分:从右向左按三(四四)位分组,不足补零位分组,不足补零l小数部分:从左向右按三小数部分:从左向右按三(四四)位分组,不足补零位分组,不足补零例例2-9(001 011 010 110.101 011 100)2=(1326.534.)8 1 3 2 6 5 3 4例例2-10(0101 1101.0101 1010)2=(5D.5A)16 5 D 5 A计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第21页八进制、十六进制数与二进制数间的转换八进制、十六进制数与二进制数间的转换l八八(十六十六)进制转化成二进制进制转化成二进制
20、一位八进制数对应三位二进制数一位八进制数对应三位二进制数 一位十六进制数对应四位二进制数一位十六进制数对应四位二进制数l例例2-11 (247.63)8=(010 100 111.110 011)2l例例2-12 (F5A.6B)16=(1111 0101 1010 0110.0110 1011)2计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第22页2.3 定点数和浮点数定点数和浮点数l数据的表示数据的表示 定点表示法定点表示法 浮点表示法浮点表示法l任何一个二进制数任何一个二进制数N都可以表示为都可以表示为N=2ES其中其中E是一个二进制整
21、数,称为数是一个二进制整数,称为数N的阶码,的阶码,2为阶为阶码的基数,码的基数,S是二进制小数,称为数是二进制小数,称为数N的尾数。的尾数。E和和S可正可负。尾数可正可负。尾数S表示数表示数N的全部有效数据,阶码的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。指明该数的小数点位置,表示数据的大小范围。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第23页2.3.1 定点数表示法定点数表示法l阶码阶码E保持不变保持不变l若若E=0,小数点固定在最高位之前,则该数,小数点固定在最高位之前,则该数是一个纯小数或定点小数。是一个纯小数
22、或定点小数。例如例如 N=200.110101001=0.110101001l若若E=n(n为尾数的位数为尾数的位数),则把小数点定在,则把小数点定在尾数最末位之后,表示一个纯整数尾数最末位之后,表示一个纯整数(定点整定点整数数)。例如例如 N=270.1011010=01011010计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第24页2.3.2 浮点数的表示浮点数的表示 l浮点数的格式阶码位数阶码位数m与尾数位数与尾数位数n之间有如下关系:之间有如下关系:2m-1n即表示阶码的值应保证实际的小数点可以即表示阶码的值应保证实际的小数点可以在整
23、个尾数的位格中移动。在整个尾数的位格中移动。浮点数的表示形式阶码阶符尾数尾符计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第25页2.3.2 浮点数的表示浮点数的表示l规格化浮点数所谓浮点数的规格化,就是通过移动尾所谓浮点数的规格化,就是通过移动尾数,使尾数数,使尾数S的最高位数字为的最高位数字为1。即。即S满足满足1/2|S|1时,这个浮点数就是规格化的数,时,这个浮点数就是规格化的数,否则就不是。在字长一定的情况下,规格否则就不是。在字长一定的情况下,规格化的浮点数精度最高。化的浮点数精度最高。计算机组成原理(第二版)计算机组成原理(第二版
24、)清华大学出版社清华大学出版社2023年1月26日第26页2.3.3 定点数表示法和浮点数表示法的比较定点数表示法和浮点数表示法的比较l表示的数据范围不同表示的数据范围不同 定点表示法,定点表示法,8位小数,能表示的数据范围:位小数,能表示的数据范围:0.00000010.1111111 (2-71-2-7)浮点表示法,浮点表示法,2位阶码,位阶码,1位阶符,位阶符,4位尾数,位尾数,1位尾符,能表示的位尾符,能表示的范围:范围:0.00012-11 0.1111211l溢出情况不同溢出情况不同 定点表示法(小数)定点表示法(小数)带符号带符号n+1位数时:位数时:小于小于2-n时:当时:当0
25、;大于大于1-2-n时:溢出,停机。时:溢出,停机。浮点表示法:浮点表示法:规格化后,从阶码上分析溢出:规格化后,从阶码上分析溢出:阶码很小时,阶码很小时,下溢:当下溢:当0;阶码超出最大值时,上溢:停机。;阶码超出最大值时,上溢:停机。l运算规则的复杂性不同运算规则的复杂性不同 定点数:较简单;定点数:较简单;浮点数:较复杂。浮点数:较复杂。l精度不同:规格化浮点数的精度远远大于定点数。精度不同:规格化浮点数的精度远远大于定点数。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第27页2.3.4 计算机中数的表示单位和机器字长计算机中数的表示单
26、位和机器字长 l数的表示单位:数的表示单位:位(位(Bit):表示数的最基本单位,对二进制只):表示数的最基本单位,对二进制只有有“0”和和“1”字节(字节(Byte):):8位二进制数位二进制数 字(字(Word):):l机器字长:参加运算的寄存器所含的二进机器字长:参加运算的寄存器所含的二进制位数,代表机器的精度制位数,代表机器的精度 固定长度固定长度 可变字长可变字长计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第28页2.4 带符号数的表示带符号数的表示 l一个数的表示方法,是它们在计算机中的一个数的表示方法,是它们在计算机中的组成格式
27、和编码规则。组成格式和编码规则。当一个数送入计算机进行运算处理时,当一个数送入计算机进行运算处理时,首先将其转换为二进制数,同时还要解决首先将其转换为二进制数,同时还要解决以下几个问题:以下几个问题:1怎样表示数的符号怎样表示数的符号 2怎样确定小数点的位置怎样确定小数点的位置计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第29页2.4.1 机器数的原码表示机器数的原码表示(1/3)l规则:机器数的最高一位表示符号,规则:机器数的最高一位表示符号,“0”表示正号;表示正号;“1”表示负号,后面各位用数的绝对值表示。表示负号,后面各位用数的绝对值
28、表示。l整数原码的定义为:整数原码的定义为:X原原为机器数的原码,为机器数的原码,X为真值,为真值,n为整数的位数。为整数的位数。l例例2-13:求:求X=1011和和Y=-1011的原码的原码解:解:X=1011时,时,原原=01011Y=-1011时,时,Y原原=24-(-1011)=11011nnnXXXXX20202原计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第30页2.4.1 机器数的原码表示机器数的原码表示(2/3)l小数原码的定义为:小数原码的定义为:X原原为机器数的原码,为机器数的原码,X为真值。为真值。l例例2-14:求:
29、求X=0.1011和和Y=-0.1011的原码的原码解:解:X=0.1011时,时,原原=0.1011Y=-0.1011时,时,Y原原=1-(-0.1011)=1.101110101XXXXX原计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第31页2.4.1 机器数的原码表示机器数的原码表示(3/3)l性质:性质:原码最高位表示数的符号,原码最高位表示数的符号,0表示正号,表示正号,1表示负号。表示负号。对定点小数,有:对定点小数,有:0不唯一不唯一 定点小数定点小数 +0原原=0.00 -0原原=1.00 整数整数 +0原原=000 -0原原
30、=1000 X1-1X 0+2+10-11 X原原20 X原原X0负整数负整数 0X-2n 整数整数X的补码可以写成:的补码可以写成:X补补=2n+1XS+X,nnsXXX201020计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第35页l性质性质 整数的补码与真值之间的关系整数的补码与真值之间的关系 补码与真值的关系补码与真值的关系设设X补补=XSXn-1Xn-2X1X0,X补补=2n+1XS+X,可以证明:,可以证明:X=X补补-2n+1XS=-2nXs+Xn-1Xn-2X1X0 补码的一项算术运算特性补码的一项算术运算特性 X/2补补是把
31、是把X补补中各位连同符号位一起都右移一位,符号位保持不中各位连同符号位一起都右移一位,符号位保持不变。变。2.4.2 机器数的补码表示机器数的补码表示(4/8)X0 X2n-2n X0X补补-2n)2n+12n)02n X补补2n+10 X补补2n计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第36页2.4.2 机器数的补码表示机器数的补码表示(5/8)l补码的求法当当0X-2n时,数时,数X的补码是:符号位为的补码是:符号位为1,数值位是,数值位是其真值其真值X的数值位取反加的数值位取反加1。也可由。也可由X的原码的原码X原原求得补码求得补码
32、X补补:X补补等于等于X原原除符号位外求反加除符号位外求反加1。反过来可由。反过来可由X的的补码补码X补补求得原码求得原码X原原:X原原等于等于X补补除符号位外求反加除符号位外求反加1。当当X为小数时,若为小数时,若X为负数,则为负数,则X的补码是:符号位为的补码是:符号位为1,数值位是其真值,数值位是其真值X 的数值位取反末位加的数值位取反末位加1。也可由。也可由X的的原码原码X原原求得补码求得补码X补补:X补补等于等于X原原除符号位外求反末除符号位外求反末位加位加1。反过来可由。反过来可由X的补码的补码X补补求得原码求得原码X原原:X原原等于等于X补补除符号位外求反末位加除符号位外求反末位
33、加1。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第37页2.4.2 机器数的补码表示机器数的补码表示(6/8)l由由X补补求求-X补补 X+Y补补=X补补+Y补补 X-Y补补=X补补+-Y补补 假设假设X补补=XSXn-1Xn-2X1X0,可由,可由X补补按下式求得按下式求得-X补补把对把对X补补连同符号位在内的各位求反运算称为对连同符号位在内的各位求反运算称为对X补补“求反求反”运算,记为运算,记为X补补。这样对。这样对X补补的的“求补求补”运算运算可看成对可看成对X补补“求反求反”运算再加运算再加1:-X补补=X 补补+1,且,且两者有
34、以下关系:两者有以下关系:X补补+X补补=2n+1-1=111(n个个1)1_0_1_2_1_XXXXXXnns补计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第38页2.4.2 机器数的补码表示机器数的补码表示(7/8)变形补码小数小数“模模4补码补码”的定义为:的定义为:或或X补补=X(mod 4)(1)当当-1X0,XS=0,扩展后高扩展后高8位全为位全为0,低,低8 位包括符号位仍为原来位包括符号位仍为原来的数码位。的数码位。若若XX-2n即无论即无论X是正还是负,一律加上是正还是负,一律加上2n,称,称2n为基数。为基数。l移码与补码
35、的关系:真值是正数时,移码是补码的最高位移码与补码的关系:真值是正数时,移码是补码的最高位加加1;真值是负数时,移码是补码的最高位减;真值是负数时,移码是补码的最高位减1。即。即若若 X补补=XSXn-1Xn-2X1X0,则则 X移移=Xn-1Xn-2X1X0 l例例2-21 X=1001,X补补=01001,可求得,可求得X移移=11001 X=-1001,X补补=10111,可求得,可求得X移移=00111计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第44页2.4.4 机器数的移机器数的移(增增)码表示法码表示法 (2/2)l性质:性质:
36、(1)0的移码唯一。的移码唯一。整数整数0 +0移移=2n+000=1000 -0移移=2n-000=1000 (2)机器机器0的形式为的形式为000,它表示的真值是,它表示的真值是X移移所能表示的所能表示的最小的数。最小的数。(3)移码的最高位是符号位,但表示的意义与原码和补码的移码的最高位是符号位,但表示的意义与原码和补码的意义相反。符号为意义相反。符号为0时,表示负数;符号为时,表示负数;符号为1,表示正数。,表示正数。(4)移码一般只进行加减运算,运算后需要对结果进行修正,移码一般只进行加减运算,运算后需要对结果进行修正,修正量为修正量为2n,即要对结果的符号位取反后,才能得到移码,即
37、要对结果的符号位取反后,才能得到移码形式的结果。形式的结果。(5)通过比较两个移码的大小,通过比较两个移码的大小,可得知其对应的真值大小。可得知其对应的真值大小。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第45页2.4.5 各种编码的比较各种编码的比较 l相同点:相同点:1、三种编码(原码、反码、补码)的最高位都是符号位。三种编码(原码、反码、补码)的最高位都是符号位。2、当真值为正时,三种编码的符号位都用当真值为正时,三种编码的符号位都用0表示,数值部表示,数值部分与真值相同。分与真值相同。即它们的表示方法是相同的。即它们的表示方法是相同
38、的。3、当真值为负时,三种编码的符号位都用当真值为负时,三种编码的符号位都用1表示,但数值表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是部分的表示各不相同,数值部分存在这样的关系:补码是原码的原码的“求反加求反加1”(整数整数),或者,或者“求反末位加求反末位加1”(小数小数);反码是原码的反码是原码的“每位求反每位求反”。4、它们所能表示的数据范围基本一样,它们所能表示的数据范围基本一样,-2nX2n(整数整数)或或-1X1(小数小数),补码多表示一个数,补码多表示一个数-2n(整数整数)或或-1(小数小数)。l区别:在于对负数的表示方法有所不同。区别:在于对负数的表示方法有
39、所不同。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第46页2.5 十进制数据表示十进制数据表示l人们习惯于用十进制表示数据,而计算机则采用二进制表人们习惯于用十进制表示数据,而计算机则采用二进制表示和处理数据。所以向计算机输入数据时,需要进行十进示和处理数据。所以向计算机输入数据时,需要进行十进制数到二进制数的转换;输出数据时,则要进行二进制数制数到二进制数的转换;输出数据时,则要进行二进制数到十进制数的转换处理。在数据量较小的情况下,这样的到十进制数的转换处理。在数据量较小的情况下,这样的转换对机器运行效率的影响不是很大。但是,在某些应用
40、转换对机器运行效率的影响不是很大。但是,在某些应用领域,运算简单而数据量很大,进行这些转换所占用的时领域,运算简单而数据量很大,进行这些转换所占用的时间比例比较大。所以为了提高机器的运行效率,计算机可间比例比较大。所以为了提高机器的运行效率,计算机可以用十进制来表示和处理数据。以用十进制来表示和处理数据。l一个十进制数位是用若干位二进制编码表示。用四位二进一个十进制数位是用若干位二进制编码表示。用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称制代码的不同组合来表示一个十进制数码的编码方法,称为二为二十进制编码,也称十进制编码,也称BCD码(码(Binary Coded Decima
41、l)。)。常用这种编码作为十进制数转换成二进制数常用这种编码作为十进制数转换成二进制数的中间过渡。即先将一个十进制数用的中间过渡。即先将一个十进制数用BCD码来表示,再把码来表示,再把它们送入机器,它们送入机器,计算机通过标准子程序使其转换成纯二计算机通过标准子程序使其转换成纯二进制数。进制数。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第47页2.5.1 二二十进制编码原理十进制编码原理1、二、二十进制的编码都采用压缩的十进制串的方十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。法,即四个二进制位的值来表示一
42、个十进制数码。2、各种编码的区别在于选用哪十个状态。选择的、各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。可能有其它一些要求。3、从每个二进制位是否有确定的位权区分,可把、从每个二进制位是否有确定的位权区分,可把二二十进制编码分为有权码和无权码。十进制编码分为有权码和无权码。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第48页2.5.2 二二-十进制有权码十进
43、制有权码(1/2)l对于有权码,将每位的数码与相应的位权相乘,再求和,对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。就可以得到它所代表的十进制数值。l8421码实现加、减运算时的修正规则:码实现加、减运算时的修正规则:(1)4位一组二进制数,两个位一组二进制数,两个8421码表示的数相加之和等码表示的数相加之和等于或小于于或小于1001,即十进制的,即十进制的9时,不需要修正,在各组内,时,不需要修正,在各组内,二进制代码相加,仍遵循二进制代码相加,仍遵循“逢二进一逢二进一”的规则。的规则。(2)4位一组二进制数,两个位一组二进制数,两个8421码相加结果大
44、于码相加结果大于1001(即十进制(即十进制9)时,则应该对该组的)时,则应该对该组的4位进行位进行“加加6修正修正”,使它向高一组产生进位。使它向高一组产生进位。(3)4位一组二进制数,两个位一组二进制数,两个8421码相加结果大于或等于码相加结果大于或等于10000(即十进制(即十进制16),而向高一组进位时,则应该对该),而向高一组进位时,则应该对该4位进行位进行“加加6修正修正”。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第49页2.5.2二二-十进制有权码十进制有权码(2/2)l编码方法:编码方法:8421码,码,2421码、码、
45、5211码、码、4311码和码和84-2-1码码(四位二进制位的位权分别为四位二进制位的位权分别为8、4、-2、-1)等。其最方等。其最方便使用的共同特点为:便使用的共同特点为:(1)对于对于2421码、码、5211码、码、4311码,任何两个十进制数位,码,任何两个十进制数位,采用这三种编码的任何一种编码,它们相加之和等于或大采用这三种编码的任何一种编码,它们相加之和等于或大于于10时,其结果的最高位向左产生进位,小于时,其结果的最高位向左产生进位,小于10时则不时则不产生进位。这一特点有利于实现产生进位。这一特点有利于实现“逢十进位逢十进位”的计数和加的计数和加法规则。法规则。(2)对于对
46、于2421码、码、5211码、码、4311码和码和84-2-1码,任何两个十码,任何两个十进制数位,采用这四种编码的任何一种编码,它们相加其进制数位,采用这四种编码的任何一种编码,它们相加其和等于和等于9时,即它们的二进制编码位互为反码,则其结果时,即它们的二进制编码位互为反码,则其结果的四个二进制位一定是的四个二进制位一定是1111,能较好地体现十进制的按,能较好地体现十进制的按9 取补与二进制的按取补与二进制的按1取补的对应关系,这对减法很有用。取补的对应关系,这对减法很有用。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第50页2.5.3
47、 二十进制无权码二十进制无权码(1/2)l无权码中,用的较多的是余无权码中,用的较多的是余3码码(Excess-3 code)和格雷码和格雷码(Gray code),格雷码又称循环码。,格雷码又称循环码。1.余余3码码(1)余)余3码是在码是在8421码的基础上,把每个代码都加上码的基础上,把每个代码都加上0011而形成的。而形成的。(2)普通)普通8421码的加法器仍能为余码的加法器仍能为余3码加法器直接利用,码加法器直接利用,具体规则如下:具体规则如下:(A)若两个十进制数的余)若两个十进制数的余3码相加,如果结果不产生进码相加,如果结果不产生进位,则从所得和值去减位,则从所得和值去减00
48、11,便得十进制位和的余,便得十进制位和的余3码。码。(B)若两个十进制数的余)若两个十进制数的余3码相加,如果结果有进位,码相加,如果结果有进位,则其进位正确,则其进位正确,但需将所得和值加上但需将所得和值加上0011,才求得十进,才求得十进制数和的余制数和的余3码。码。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第51页2.5.3 二十进制无权码二十进制无权码(2/2)l2.格雷码格雷码(1)格雷码的编码规则是使相邻的两个代码,只)格雷码的编码规则是使相邻的两个代码,只有一个二进制位的状态不同,其余三个二进制位有一个二进制位的状态不同,其
49、余三个二进制位必须有相同状态。必须有相同状态。(2)优点:从一个编码变到下一个相邻编码时,)优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟换的连续性。在模拟/数字转换和产生节拍电位等数字转换和产生节拍电位等应用场合特别有用。应用场合特别有用。计算机组成原理(第二版)计算机组成原理(第二版)清华大学出版社清华大学出版社2023年1月26日第52页表2-1 二十进制的编码的部分编码方案1001111111111111111111000100100010011100111010111000111011101
50、00001111101110010011100101000011000001110101001101110101010110001100101101110001011011110001110101110100010011001000001001100100110010001010110011100010011010010000111011001010100000100110101011100010010001101000001001000110100000000000011000000000000000000009876512340格雷码(2)格雷码(1)余3码431184-2-1521124