计算机结构与逻辑设计1_第1页
计算机结构与逻辑设计1_第2页
计算机结构与逻辑设计1_第3页
计算机结构与逻辑设计1_第4页
计算机结构与逻辑设计1_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机结构与逻辑设计计算机结构与逻辑设计 目录 重点:重点:1. 二进制与十进制、十六进制间的转换二进制与十进制、十六进制间的转换2. 码的概念码的概念3. 原码、反码、补码间的换算原码、反码、补码间的换算4. 原码、反码、补码的运算原码、反码、补码的运算1.1计算机中的数制十进制十进制(decimal):325.141170.51-mm-11 -00112-n2-n1 -n1 -n10 )10d10d10d10d10d10d(nmiidv4, 1; 3, 2, 521210ddddd51, 1, 7, 013210ddddd1.1计算机中的数制二进制二进制(binary):11011001.

2、1011-mm-11 -00112-n2-n1 -n1 -n2 )222222(nmiibbbbbbbv1, 1, 0, 13210bbbb1, 0, 11, 0, 0, 13213210bbbbbbb1.1计算机中的数制推广到任意进制推广到任意进制r进制:进制:1 -n-miii-mm-11 -00112-n2-n1 -n1 -nrr )rrrrrrrrrrrr (v1.1计算机中的数制计算机常用各种进制数的表示计算机常用各种进制数的表示为什么日常生活中用十进制为什么日常生活中用十进制进位制进位制二进制二进制八进制八进制十进制十进制十六进制十六进制规则规则逢二进逢二进一一逢八进一逢八进一逢十

3、进一逢十进一逢十六进一逢十六进一基数基数r=2r=8r=10r=16基本符号基本符号0,10,1,2,70,1,2,90,1,.,9,a,.,f权权2i8i10i16i形式表示形式表示bodh1.1计算机中的数制计算机采用的二进制表示方式的原因计算机采用的二进制表示方式的原因f二进制只有两个数码二进制只有两个数码“0”和和“1”,易于用物理器件表示。,易于用物理器件表示。这些物理状态都是不同的质的变化,形象鲜明、易于区别,这些物理状态都是不同的质的变化,形象鲜明、易于区别,并且数的存储、传送和处理可靠性高。并且数的存储、传送和处理可靠性高。f运算规则简单,操作实现容易。运算规则简单,操作实现容

4、易。f二进制加、减、乘、除运算,可以归结为加、减、移位三二进制加、减、乘、除运算,可以归结为加、减、移位三种操作。种操作。f二进制中的二进制中的“1”和和“0”与逻辑命题中的与逻辑命题中的“真真”、“假假”相相对应,为计算机实现逻辑运算和程序中的逻辑判断创造了对应,为计算机实现逻辑运算和程序中的逻辑判断创造了良好条件。良好条件。f理论和实践证明,采用理论和实践证明,采用r= e =2.71828进制时,存储设备最进制时,存储设备最省,取省,取3比取比取2更节省设备,但二进制比三进制易于表示更节省设备,但二进制比三进制易于表示1.1计算机中的数制十进制转换为二进制数的一般算法:十进制转换为二进制

5、数的一般算法: 任一十进制数任一十进制数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,直,直

6、到乘积的小数部分为到乘积的小数部分为0。在小数转换过程中,出现。在小数转换过程中,出现fi恒不为恒不为0时,可按精度要求确定二进制小数的位数。时,可按精度要求确定二进制小数的位数。 1.1计算机中的数制二进制二进制 十进制十进制例例1-1 将将(11011.11)b转换为十进制数转换为十进制数(11011.11) b =124+123+022+121+120+12-1+12-2 =(27.75)d例例1-2 求求(81)d的二进制表示,求的二进制表示,求(0.84375)d的二进制表示的二进制表示(81)d=(1010001)b81 2 2 2 2 2 2 210001011 2 5 10 2

7、0 40 811.1计算机中的数制(0.84375)d=(0.11011)b(0.35)d(+1分分)(0.35)d = (0.01011001)b误差?误差?0.35 0.7 1.4 0.8 1.6 1.2 0.4 0.8 1.6 0 . 0 1 0 1 1 0 0 1 0.84375 1.6875 1.375 0.75 1.5 1.0 0 . 1 1 0 1 11.1计算机中的数制二进制数的缺点:表示同一数字所需的位数多。二进制数的缺点:表示同一数字所需的位数多。(10011100)2=(234)8=(156)10=(9c)16数制间的转换数制间的转换十进制数转换为八进制数、十六进制数十进

8、制数转换为八进制数、十六进制数 将十进制数转换为八进制数、十六进制数时,使用将十进制数转换为八进制数、十六进制数时,使用的方法与十进制数转换成二进制数的方法基本相同,的方法与十进制数转换成二进制数的方法基本相同,只是求整数部分时是用商除以只是求整数部分时是用商除以8或或16,取其余数;,取其余数;小数部分改用乘以小数部分改用乘以8或或16,取其整数即可。,取其整数即可。1.1计算机中的数制数制间的转换数制间的转换二进制二进制 八进制八进制例例1-3 (247.63)o= (010 100 111.110 011)b将八进制的各位数码分别用对应的二进制数带入将八进制的各位数码分别用对应的二进制数

9、带入例例1-4 (001 011 010 110.101 011 100) b= (1326.534) 整数部分从右向左,小数部分从左向右,每整数部分从右向左,小数部分从左向右,每3位位作为一个单元,用对应的八进制数字代替作为一个单元,用对应的八进制数字代替二进制二进制 十六进制十六进制 例例1-5 (f5a.6b) h= (1111 0101 1010 0110.0110 1011) b将十六进制的各位数码分别用对应的二进制数带入将十六进制的各位数码分别用对应的二进制数带入 例例1-6 (0101 1101.0101 1010) b= (5d.5a) h整数部分从右向左,小数部分从左向右,每

10、整数部分从右向左,小数部分从左向右,每4位作位作为一个单元,用对应的十六进制数字代替。为一个单元,用对应的十六进制数字代替。1.2计算机中数的表示方法与格式数值的表示方法:真值与机器数数值的表示方法:真值与机器数1)真值真值数符(数符(+/-)+ 尾数(数值的绝对值)尾数(数值的绝对值)2)机器数机器数(计算机中的表示计算机中的表示)符号(符号(+/-)数码化)数码化 + 尾数尾数x x1 1 = = + + 1101101 1101101x x2 2 = = - - 110110111011011.2计算机中数的表示方法与格式计算机中数的表示和机器字长计算机中数的表示和机器字长 数的表示单位

11、:数的表示单位:位(位(bitbit):表示数的最基本单位,对二进制只有):表示数的最基本单位,对二进制只有“0”0”和和“1”1”字节(字节(bytebyte):):8 8位二进制数位二进制数字(字(wordword):): 机器字长机器字长(page17)(page17)参加运算的寄存器所含的二进制位数,代表机器的精度参加运算的寄存器所含的二进制位数,代表机器的精度8 8位机位机1616位机位机3232位机位机6464位机位机1.2计算机中数的表示方法与格式码的概念:用固定字长表示的数,称为码的概念:用固定字长表示的数,称为码码例例1-71-75 5的二进制表示为的二进制表示为 5 5d

12、d=101=101b b5 5在在8 8位机中表示为位机中表示为00000101000001015 5在在1616位机中表示为位机中表示为00000000000001010000000000000101:每个码称为一个每个码称为一个码字码字,码字中的每一位称为,码字中的每一位称为码元码元。 二进制码二进制码 循环码循环码1.2计算机中数的表示方法与格式整数在计算机中的表示:原码、反码、补码整数在计算机中的表示:原码、反码、补码一、一、原码原码:最高一位表示符号,:最高一位表示符号,“0”0”表示正号;表示正号;“1”1”表示负号,后面各位用数的绝对值表示。表示负号,后面各位用数的绝对值表示。例

13、例1-7 1-7 1313的的8 8位码表示位码表示(+13)=00001101(+13)=00001101(-13)=10001101(-13)=100011011.2计算机中数的表示方法与格式原码的性质:原码的性质:1)1)对对n n位码,原码可以表示的数值范围为位码,原码可以表示的数值范围为-(2n-1-1) x 2n-1-1如如n=8n=8,原码表示的范围为,原码表示的范围为0111111101111111到到1111111111111111,+127+127-127-127。2)02)0有两种表示方式:有两种表示方式:+0+0原原=00000000;=00000000;-0-0原原=

14、10000000=100000001.2计算机中数的表示方法与格式二、反码二、反码反码表示为:符号位反码表示为:符号位 + 尾数尾数相对与原码而言:正数的反码,其尾数与原码相对与原码而言:正数的反码,其尾数与原码尾数相同;负数的反码,其尾数为原码的尾数部分尾数相同;负数的反码,其尾数为原码的尾数部分按位取反。按位取反。例例1-8 x=+4;x反反=00000100x=- 4;x反反=111110111.2计算机中数的表示方法与格式反码的性质:反码的性质:1)对对n位码,反码可以表示的数值范围为位码,反码可以表示的数值范围为-(2n-1-1) x 2n-1-1 如如n=8,反码表示的范围为,反码

15、表示的范围为01111111110000000,+127-127。2)0有两种表示方式有两种表示方式 +0反反=00000000;-0反反=111111113)符号位后的尾数是否为真值取决于符号位符号位后的尾数是否为真值取决于符号位1.2计算机中数的表示方法与格式例例1-9用反码完成用反码完成+72与与-13的加法运算的加法运算x1=+72,x1反反=01001000;x2=-13,x2反反=11110010;x3=x1+x2=+59x3=+59x3反反=00111011; 100100001001000- 0001101+11110010 0111011 100111010 + 1 0011

16、101100111011循环进位循环进位(end-around carry):将溢出的:将溢出的1加到运算结果的操作称为循环加到运算结果的操作称为循环进位进位1.2计算机中数的表示方法与格式三、补码三、补码(2的补码的补码)补码的计算规则:补码的计算规则:1) 相对于原码而言,正数的补码是原码本身;负数相对于原码而言,正数的补码是原码本身;负数的补码为原码的反码的补码为原码的反码+1;2) n=2n+n;(n为真值为真值)1.2计算机中数的表示方法与格式补码的性质:补码的性质:1) 对对n位码,补码可以表示的数值范围为位码,补码可以表示的数值范围为-2-2n-1n-1 x x 2 2n-1n-

17、1-1-1如如n = 8,补码范围,补码范围0111111110000000,数值范,数值范围为围为+127-1282) 0有有 种表示方式种表示方式+0补补=00000000;-0补补=000000003) 符号位后的尾数不表示真值大小符号位后的尾数不表示真值大小一一负数的表示负数的表示补码表示法补码表示法数学上定义:如果数学上定义:如果a和和a两个数之和等于某个固定的数两个数之和等于某个固定的数m(称为模称为模),则称数,则称数a是数是数a关于模关于模m的补数。的补数。模模m系统的重要性质:对于任何一个在模系统的重要性质:对于任何一个在模m系统中的数系统中的数a,a与模的整数倍相加或相减时

18、,与模的整数倍相加或相减时,a的值不变。的值不变。(同余同余)a=a+ n m计算机中的补码:计算机中的补码:在计算机中一个负数在计算机中一个负数-|a|的补码,其实就是数学中的补码,其实就是数学中|a|的的补数。补数。负数的表示负数的表示补码表示法补码表示法2) n=2n+n;(n为真值为真值)对于一个二进制的对于一个二进制的n位系统,系统的模为位系统,系统的模为2n。这里的。这里的n表示真值,而不是机器数(原码)。表示真值,而不是机器数(原码)。数学中的减法:数学中的减法:在执行减法的时候,减去一个数在执行减法的时候,减去一个数|a|,等于加上,等于加上|a|的补的补码。码。计算机中的减法

19、:计算机中的减法:在执行减法的时候,减去一个数在执行减法的时候,减去一个数|a|,就可以用加上,就可以用加上 (-|a|)的补码来实现。的补码来实现。1.2计算机中数的表示方法与格式例例1-10 计算计算-0,-1,-127,-128的补码的补码x1=-0 x2=-1x3=-127x4=-128m1=10000000;m2=10000001; m3=11111111m1反反=11111111m2反反=11111110m1补补=00000000m2补补=11111111m1补补=100000000m2补补=100000000- 0000000- 0000001 00000000 11111111

20、m3反反=10000000m3补补=10000001m3补补=100000000 m4补补=100000000- 1111111 - 10000000 10000001 100000001.2计算机中数的表示方法与格式补码的几项运算特性补码的几项运算特性1) 用补码进行运算时,两数补码之和等于两数和之补码用补码进行运算时,两数补码之和等于两数和之补码例例1-11 计算计算+72与与-13的补码的补码;完成完成+72与与-13的加法运算的加法运算x1=+72;x1原原=01001000;x1补补=01001000x2=-13; x2原原=10001101;x2反反=11110010;x2补补=1

21、1110011x3=x1+x2=59;x3原原=00111011;x3补补=00111011;0100100011110011 1001110111.2计算机中数的表示方法与格式2) x/2补补是把是把x补补中各位连同符号位一起都右移一位,符号中各位连同符号位一起都右移一位,符号位保持不变。位保持不变。例例1-12 计算计算24与与12的补码的补码x1=+24;x2=12;x3=-24;x4=-12x1补=00011000 x3补=11101000 x2补=00001100 x4补=111101003) x补补等于等于x原原的反码的反码+1;x原原等于等于x补补的反码的反码+1例例1-13 x

22、1=89x1原=010110001; x1反=001001110; x1补=001001111x1补反=010110000;x1补补=010110001=x1原1.2计算机中数的表示方法与格式4)把对把对x补补连同符号位在内的各位求反运算称为对连同符号位在内的各位求反运算称为对x补补“求反求反”运算,运算,记为记为x补补。-x补补=x 补补 + 1例例1-14x1=+24; x2=-24x1补= 00011000 x1补=11100111-x补=111010005)补码的符号位扩展若若x补补=xsxn-1xn-2x1x0为为8位,需要扩展为位,需要扩展为16位时,要按下面的位时,要按下面的规则

23、进行扩展:规则进行扩展:用符号位用符号位xs填满扩展的高填满扩展的高8位,若位,若x0,xs=0,扩展后高,扩展后高8位全为位全为0,低低8 位包括符号位仍为原来的数码位。位包括符号位仍为原来的数码位。若若x0,xs=1,扩展后高,扩展后高8位全为位全为1,低,低8位包括符号位仍为原来的位包括符号位仍为原来的数码位。数码位。1.2计算机中数的表示方法与格式各种编码的比较各种编码的比较 相同点:相同点:1、 三种编码(原码、反码、补码)的最高位都是符号位。三种编码(原码、反码、补码)的最高位都是符号位。2、 当真值为正时,三种编码的符号位都用当真值为正时,三种编码的符号位都用0表示,数值部分表示

24、,数值部分与真值相同。与真值相同。 即它们的表示方法是相同的。即它们的表示方法是相同的。3、 当真值为负时,三种编码的符号位都用当真值为负时,三种编码的符号位都用1表示,但数值部表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原分的表示各不相同,数值部分存在这样的关系:补码是原码的码的“求反加求反加1”(整数整数);反码是原码的;反码是原码的“每位求反每位求反”。4、 它们所能表示的数据范围基本一样,补码多表示一个数它们所能表示的数据范围基本一样,补码多表示一个数-2n(整数整数) 区别:在于对负数的表示方法有所不同。区别:在于对负数的表示方法有所不同。1.2计算机中数的表示方法

25、与格式定点数与浮点数定点数与浮点数一、定点数一、定点数(fixed-point)1)约定小数点的位置在尾数的最右侧约定小数点的位置在尾数的最右侧表示的数值为表示的数值为: (-1)s i2)约定小数点的位置在尾数的最左侧约定小数点的位置在尾数的最左侧表示的数值为:表示的数值为: (-1)s 0.f si小数点默认位置 sf小数点默认位置1.2计算机中数的表示方法与格式二、浮点数二、浮点数(floating-point)规格化浮点数:所谓浮点数的规格化,就是通过移动尾数,使尾数所谓浮点数的规格化,就是通过移动尾数,使尾数s的最高位数字为的最高位数字为1。即即s满足满足1/2|s|1时,这个浮点数

26、就是规格化的数,否则就不是。在字时,这个浮点数就是规格化的数,否则就不是。在字长一定的情况下,规格化的浮点数精度最高。长一定的情况下,规格化的浮点数精度最高。cssciv)1(2) 1(阶码c阶符sc尾数i尾符s默认小数点位置阶码c阶符sc尾数f尾符s默认小数点位置csscfv)1(2. 0) 1(1.2计算机中数的表示方法与格式定点数表示法和浮点数表示法的比较定点数表示法和浮点数表示法的比较 表示的数据范围不同表示的数据范围不同 定点表示法,8位小数,能表示的数据范围:0.00000010.1111111 (2-71-2-7) 浮点表示法,2位阶码,1位阶符,4位尾数,1位尾符,能表示的范围

27、:0.00012-11 0.1111211 运算规则的复杂性不同运算规则的复杂性不同 定点数:较简单; 浮点数:较复杂。1.2计算机中数的表示方法与格式定点数表示法和浮点数表示法的比较定点数表示法和浮点数表示法的比较 溢出情况不同溢出情况不同 定点表示法(小数) 带符号n+1位数时: 小于2-n时:当0; 大于1-2-n时:溢出。 浮点表示法: 规格化后,从阶码上分析溢出: 阶码很小时,下溢:当0;阶码超出最大值时,上溢。 精度不同精度不同 规格化浮点数的精度远远大于定点数。1.2计算机中数的表示方法与格式十进制数的表示方法十进制数的表示方法人们习惯于用十进制表示数据,而计算机则采用二进制表人

28、们习惯于用十进制表示数据,而计算机则采用二进制表示和处理数据。所以向计算机输入数据时,需要进行十进示和处理数据。所以向计算机输入数据时,需要进行十进制数到二进制数的转换;输出数据时,则要进行二进制数制数到二进制数的转换;输出数据时,则要进行二进制数到十进制数的转换处理。到十进制数的转换处理。一个十进制数位是用若干位二进制编码表示。用四位二进一个十进制数位是用若干位二进制编码表示。用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称制代码的不同组合来表示一个十进制数码的编码方法,称为二为二十进制编码,也称十进制编码,也称bcd码(码(binary coded decimal)。)。 常用

29、这种编码作为十进制数转换成二进制数常用这种编码作为十进制数转换成二进制数的中间过渡。即先将一个十进制数用的中间过渡。即先将一个十进制数用bcd码来表示,再把码来表示,再把它们送入机器,它们送入机器, 计算机通过标准子程序使其转换成纯二进计算机通过标准子程序使其转换成纯二进制数。制数。各种编码的区别在于选用哪十个状态。选择的原则是:要各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规考虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。则要尽量简单;在特定场合,可能有其它一些要求。1.2计算机中数的表示方

30、法与格式从每个二进制位是否有确定的位权区分,可把二从每个二进制位是否有确定的位权区分,可把二十进制编码分为有权码和无权码。十进制编码分为有权码和无权码。l 对于有权码,将每位的数码与相应的位权相乘,再求和,对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。就可以得到它所代表的十进制数值。l 有权码常用的编码方法有:有权码常用的编码方法有:8421码码(又称又称nbcd码码),2421码、码、5211码、码、4311码和码和84-2-1码码( 四位二进制位的位权分别四位二进制位的位权分别为为8、4、-2、-1)。l 无权码中,用的较多的是余无权码中,用的较多的是余

31、3码码(excess-3 code)和格雷码和格雷码(gray code),格雷码又称循环码。格雷码的优点是从一个,格雷码又称循环码。格雷码的优点是从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟有利于保证代码变换的连续性。在模拟/数字转换和产生节数字转换和产生节拍电位等应用场合特别有用。拍电位等应用场合特别有用。1.2计算机中数的表示方法与格式 表2-1 二十进制的编码的部分编码方案1001111111111111111111000100100010011100111010111000111011

32、10100001111101110010011100101000011000001110101001101110101010110001100101101110001011011110001110101110100010011001000001001100100110010001010110011100010011010010000111011001010100000100110101011100010010001101000001001000110100000000000011000000000000000000009876512340格雷码(2)格雷码(1)余3码431184-2-1521

33、12421无权码位有权码十进制符号(bcd)84211.3非数值数据在计算机中的表示方法一、一、ascii码码&“美国标准信息交换代码美国标准信息交换代码”(american standard code for information interchange),简称,简称ascii码。码。7位二进制编码,可表示位二进制编码,可表示27=128个字符。个字符。&ascii码中,编码值码中,编码值031不对应任何可印刷(或称有字形)字符,通不对应任何可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为制。编码值为32的是空格(或间隔)字符的是空格(或间隔)字符sp。编码值为。编码值为127的是删除的是删除控制控制del码。其余的码。其余的94个字符称为可印刷字符。个字符称为可印刷字符。二、二、ebcdic码码& extended bi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论