资源描述
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构 陈泽宇 副教授计算机组成与系统结构 陈泽宇 副教授单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构第1章 计算机系统概论第2章 运算方法和运算器第3章 存储系统第4章 指令系统第5章 中央处理器(CPU)第6章 总线系统第7章 输入输出(I/O)系统第8章 并行计算机系统第1章 计算机系统概论单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2.1数据表示基础2.1.1 进制数及其转换2.1.2 数的机器码表示2.1数据表示基础2.1.1 进制数及其转换单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2.1.1 进制数及其转换计算机系统中,通常将十进制数作为人机交互的媒介,数据则以二进制数的形式存储和运算用二进制表示一个数所使用的位数比十进制长得多使用十六进制来弥补二进制的这一不足2.1.1 进制数及其转换计算机系统中,单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础计算机采用二进制的原因易于物理实现具有两种稳定状态的物理器件很多(门电路的导通/截止、电压的高/低),恰好对应表示“1”和“0”制造具有10种稳定状态(十进制)的物理电路非常困难运算规则简单对R进制数进行算术求和或求积运算,其运算规则各有R(R+1)/2种十进制(R=10)有55种运算规则二进制(R=2)仅有3种运算规则,大大简化运算器设计计算机采用二进制的原因易于物理实现单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础机器可靠性高电压高/低、电流有/无都是质的变化,两种物理状态稳定、分明二进制码传输抗干扰能力强,鉴别信息可靠性高逻辑判断方便二进制的“1”和“0”正好与逻辑命题的“真”和“假”相对应,能方便地使用逻辑代数工具来分析和设计计算机的逻辑电路机器可靠性高单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础1.进位计数制进位计数制采用从低位向高位进位的方式进行计数的数据表示方法基数(Radix)每个数位所用到的数码符号的个数权(Weight)数码在不同的数位上所表示的数值不同每个数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数,这个常数叫做权1.进位计数制进位计数制单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础1)十进制基数为10,逢10进1一个数的数值大小就是它的各位数码按权相加之和(6543.21)10=6103+5102+4101+3100+210-1+110-21)十进制基数为10,逢10进1单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2)二进制二进制只有两个不同的数码“0”和“1”基数为2,逢2进1任意数位的权是2i2)二进制二进制只有两个不同的数码“0”和“1”单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础3)十六进制基数为16,逢16进1每个数位可取0,1,9,A,B,F共16个不同的数码和符号中的任意一个其中AF分别表示十进制数值10153)十六进制基数为16,逢16进1单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础不同进制的表示用下标表示(1010)2、(1010)10、(1010)16用后缀字母表示B:二进制(Binary)数H:十六进制(Hexadecimal)数D:十进制(Decimal)数,可省略375D、101B、AFEH不同进制的表示用下标表示单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础三种常用进位计数制的对应关系十进制二进制十六进制十进制二进制十六进制000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F三种常用进位计数制的对应关系十进制二进制十六进制十进制二进制单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2.各种进制数之间的转换1)二进制数转换为十六进制数2)十六进制数转换为二进制数3)二进制数转换为十进制数4)十进制数转换为二进制数2.各种进制数之间的转换1)二进制数转换为十六进制数单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础1)二进制数转换为十六进制数整数部分和小数部分分别转换整数部分:从小数点开始往左数,每4位分成一组(可在最左边添“0”)小数部分:从小数点开始往右数,每4位分成一组(可在最右边添“0”)最终使二进制数的总的位数是4的倍数然后用相应的十六进制数取而代之111011.1010011011B=0011 1011.1010 0110 1100B=3B.A6CH1)二进制数转换为十六进制数整数部分和小数部分分别转换单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2)十六进制数转换为二进制数将1位十六进制数写成4位二进制数,去除整数最左边和小数最右边的“0”3B.328H=0011 1011.0011 0010 1000B=111011.001100101B2)十六进制数转换为二进制数将1位十六进制数写成4位二进制数单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础3)二进制数转换为十进制数按权展开相加法把各位数码与它们的权相乘,再把乘积相加,就得到对应的十进制数100011.1011B=125+121+120+12-1+12-3+12-4=35.6875D 3)二进制数转换为十进制数按权展开相加法单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础4)十进制数转换为二进制数基数乘除法对整数和小数部分分别处理整数部分用除基取余法小数部分用乘基取整法最后将它们拼接起来即可4)十进制数转换为二进制数基数乘除法单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础十进制整数整数转换为二进制整数(除基取余法除基取余法)除以基数(2)取余数,先得到的余数为低位,后得到的余数为高位用2连续去除十进制整数,直到商等于0为止按逆序排列每次的余数(先取得的余数为低位)十进制整数转换为二进制整数(除基取余法)除以基数(2)取余单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础例如,将175D转换成二进制数:所以,175D=10101111B例如,将175D转换成二进制数:单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础十进制小数小数转换为二进制小数(乘基取整法乘基取整法)乘以基数(2)取整数,先得到的整数为高位,后得到的整数为低位用2连续去乘十进制数的小数部分,直至乘积的小数部分等于0为止按顺序排列每次乘积的整数部分(先取得的整数为高位)十进制小数转换为二进制小数(乘基取整法)乘以基数(2)取整单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础例如,将0.3125D转换成二进制数:所以,0.3125D=0.0101B例如,将0.3125D转换成二进制数:单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础若要将十进制数175.3125转换成二进制数,应对整数部分和小数部分分别进行转换,然后再进行整合:175.3125D=10101111.0101B若要将十进制数175.3125转换成二进制数,应对整数部分和单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2.1.2 数的机器码表示1.机器数和真值2.原码3.补码4.反码5.移码2.1.2 数的机器码表示1.机器数和真值单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础1.机器数和真值符号位:正负符号用1位二进制数码表示机器数(或称机器码):符号位和数值位一起编码表示“0”表示正号,“1”表示负号,符号位在最高数值前表示形式包括原码、补码、反码、移码真值:用“+”、“-”来表示符号的数例如:N1=+0.101101,N2=-0.101101,这是真值表示成机器数(以原码为例)就是:N1原=0.101101,N2原=1.1011011.机器数和真值符号位:正负符号用1位二进制数码表示单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础2.原码符号位为0表示正数,为1表示负数,数值部分用二进制数的绝对值表示假设机器数的位数8位(即机器的字长为8位),最高位是符号位,其余7位是数值位,+59和-59的原码分别表示为+59原=00111011-59原=101110112.原码符号位为0表示正数,为1表示负数,数值部分用二进制单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础注意:0的原码有“正零”和“负零”之分,机器遇到这两种情况都当作0处理+0原=00000000-0原=10000000原码的表示方法简单易懂,与真值转换方便,但在进行加减法运算时,符号位不能直接参加运算,而是要分别计算符号位和数值位为了解决这些问题,人们引进了数的补码表示法注意:0的原码有“正零”和“负零”之分,机器遇到这两种情况都单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础3.补码假如现在是7点,而手表却指向9点,如何调整手表时间?顺时针(向前)拨动10小时,或逆时针(向后)拨动2小时数学表示:(9+10)-12=19-12=7,或 9-2=7对钟表来说,向前拨10小时和向后拨2小时的结果是一样的,减2可以用加10来代替钟表是按12进位的,12就是它的“模”对模12来说,-2与+10是“同余”的也就是说,-2与+10对于模12来说互为补数3.补码假如现在是7点,而手表却指向9点,如何调整手表时间?单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础计算机中的加法器是以2n为模的有模器件,因此可以引入补码,把减法运算转换为加法运算,以简化运算器的设计补码的定义把某数X加上模数K,称为以K为模的X的补码X补=K+X正数补码的最高位为符号“0”,数值部分为该数本身负数补码的最高位为符号“1”,数值部分为用模减去该数的绝对值计算机中的加法器是以2n为模的有模器件,因此可以引入补码,把单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础求二进制数的补码的简便方法正数的补码:与其原码相同负数的补码:符号位不变,数值位逐位取反(即求其反码),然后在最低位加1例如,+59补=+59原=00111011,-59原=10111011,-59补=11000100+1=11000101求二进制数的补码的简便方法单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础注意:0的补码只有一种形式,就是n位0采用补码表示法进行加减法运算,比原码运算方便多了符号位可以和数值位一起参加运算不论数是正还是负,计算机总是做加法,减法运算可转换为加法运算注意:0的补码只有一种形式,就是n位0单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础4.反码引入反码的目的是便于求负数的补码正数的反码与原码相同,负数的反码是符号位不变,数值位逐位取反例如:+59反=+59原=00111011-59原=10111011,-59反=110001004.反码引入反码的目的是便于求负数的补码单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础注意:0的反码也有两个,+0反=00000000,-0反=11111111在计算机中,求一个数的反码很容易,因此,求一个数的补码也就易于实现注意:单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础采用补码运算,计算机的控制线路较为简单目前大多数计算机均采用补码存储、补码运算,其运算结果仍为补码形式在n位机中,用n位二进制数补码表示一个带符号的整数时,最高位为符号位,后面n-1位为数值部分n位二进制数补码表示的范围为-2n-1+2n-1-1在8位机中,补码表示的范围为-128+127采用补码运算,计算机的控制线路较为简单单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础8位二进制数的各种表示方法 二进制数码真值无符号数原码反码补码000000000+000000011+000000102+01111101125+125+125+12501111110126+126+126+12601111111127+127+127+12710000000128-127-12810000001129-126-12710000010130-125-12611111101253-125-2-311111110254-126-1-211111111255-127-0-18位二进制数的各种表示方法 二进制数码真值无符号数原码反码补单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础【例2-2】以整数为例,用数轴形式说明原码、反码、补码的表示范围和可能的数码组合情况。【解】表示范围:原码-(2n-1-1)2n-1-1反码-(2n-1-1)2n-1-1补码-2n-1 2n-1-1补码表示中“0”只有一种形式,补码表示负数时可到-2n-1【例2-2】以整数为例,用数轴形式说明原码、反码、补码的表示单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础【例2-3】在字长为8位的计算机中,下列数的原码、反码及补码各为多少?+18,-18,+31,-31,+127,-127【解】8位字长计算机所能表示的机器数是8位,最高位为符号位,后面7位为数值位。因此:+18原 =+18反 =+18补 =00010010+31原 =+31反 =+31补 =000111111+127原=+127反=+127补=011111111-18原 =10010010,-18反=11101101,-18补=11l01110-31原 =10011111,-31反=11100000,-31补=11100001-127原=11111111,-127反=10000000,-127补=10000001【例2-3】在字长为8位的计算机中,下列数的原码、反码及补码单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础5)移码移码也称为增码或偏码,常用于表示浮点数中的阶码移码可由补码求得只要把补码的符号位取反就得到了移码5)移码移码也称为增码或偏码,常用于表示浮点数中的阶码单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级计算机组成与系统结构2.1数据表示基础计算机组成与系统结构2.1数据表示基础本讲到此结束,谢谢!本讲到此结束,谢谢!
展开阅读全文