欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    硬件第2章计算机运算基础.ppt

    • 资源ID:6320726       资源大小:693.50KB        全文页数:56页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    硬件第2章计算机运算基础.ppt

    1,主讲:,2,第2章 计算机运算基础,通过本章学习,应该掌握以下内容:带符号数的编码定点数据表示 浮点数据表示补码的加减运算及溢出判断 移位运算,3,目 录,2.1 带符号数的编码2.2 定点数据表示 2.3 浮点数据表示2.4 补码的加减运算及溢出判断 2.5 移位运算,4,2.1带符号数的编码,在计算机中使用的连同符号一起数码化的数叫机器码,不同的机器码采用不同的编码规律。用“+”、“-”号加上数的绝对值表示的数称为真值。2.1.1 原码 原码的编码规律可概括为:正数的符号位用0表示,负数的符号位用1表示,数位部分则和真值的数位部分完全一样。,5,例2-1 已知X=1101,Y=-1011,字长n=5,求X和Y的原码。解:X原=01101,Y原=11011例2-2 已知X=0.1001,Y=-0.1010,字长n=5,求X和Y的原码。解:X原=0.1001,Y原=1.1010 原码表示简单直观,与真值转换容易,但符号位不能参加运算。在计算机中用原码实现算术运算时,要取绝对值参加运算,符号位单独处理,这对乘除法运算是很容易实现的,但对加减运算是非常不方便的。,6,2.1.2 补码1补码表示的引出 补码具有符号位可以参加运算和化减为加的特点,是计算机中使用最多的一种机器码。2补码的定义对模为M的补码,其统一定义为:X补=M+X(MOD M)X补=2n+X X补=2+X 正数的补码是其本身,但要用0表示正号;负数的补码是用模加上这个负数,即减去这个负数的绝对值。,7,3.负数补码的求法 补码的编码规律是正数的符号位用0表示,负数的符号位用1表示。但对数位部分则是正数同真值一样,负数要将真值的各位按位变反,末位加1。例2-3 已知X=1001,Y=-1001,字长n=5,求X和Y的补码。解:X补=01001,Y补=10111例2-4 已知X=0.1010,Y=-0.1011,字长n=5,求X和Y的补码。解:X补=0.1010,Y补=1.0101,8,4 由补码求真值 从正数的补码求真值,不必计算,可以直接写出;从负数的补码求真值,和从真值求负数的补码方法一样,可将补码的各数位按位变反,末位加,然后加上数符“-”。这一结论对定点整数也是同样适用的。例2-5 已知X补=01101,Y补=10110,求X和Y的真值。解:X=1101,Y=-1010例2-6 已知X补=0.1011 Y补=1.1101,求X和Y的真值。解:X=0.1011,Y=-0.0011,9,2.1.3 反码反码的编码规律可概括为:正数的符号位用0表示,负数的符号位用1表示,数位部分则是正数同真值一样,负数要将真值的各位按位变反。例2-7 已知:X=1111,Y=-1010,字长n=5,求X和Y的反码。解:X反=01111 Y反=10101例2-8 已知:X=0.1011,Y=-0.1001,字长n=5,求X和Y的反码。解:X反=0.1011 Y反=1.0110由于负数的反码加就是负数的补码,所以,反码在计算机中常用做求补码的中介。,10,2.1.4 移码当字长为n位时,移码表示的定义为:X移=2 n-1+X(MOD 2 n-1)移码的编码规律是:正数的符号位用1表示,数位部分同真值一样;负数的符号位用0表示,数位部分变反加1。移码还有一个非常有用的特点,即编码大的移码,对应的真值也大,这个特点可用来比较两个移码表示的数的大小。例2-9 已知X=1001,Y=-1101,字长n=5,求X和Y的移码。解:X移=11001,Y移=00011,11,2.1.5 四种机器码的比较 对于正数,原码、补码、反码的表示形式一样;对于负数,原码、补码、反码的表示形式不一样;移码表示和补码表示仅符号位相反,数值位编码完全相同。几种机器码的最高位都是符号位,原码、补码、反码用0表示正数、1表示负数,而移码用1表示正数、0表示负数。根据定义,原码和反码各有两种0的表示形式,而补码和移码表示0有唯一的形式。,12,在字长n位的整数表示中,几种机器码的0有如下的表示形式:+0原=0000(n个0)-0 原=1000(n-1个0)+0反=0000(n个0)-0 反=1111(n个1)+0补=-0补=0000(n个0)+0移=-0移=1000(n-1个0),13,原码和反码表示的数的范围是相对于0对称的,表示的范围也相同。而补码和移码表示的数的范围相同,但相对于0是不对称的,表示的范围和原码、反码也不同。这是由于当字长为n位时,它们都可以有2n个编码,但原码和反码表示0用了两个编码,而补码和移码表示0只用了一个编码。于是,同样字长的编码,补码和移码可以多表示一个负数,这个负数在原码和反码中是不能表示的。表2-1给出了字长n=4时,二进制整数真值和原码、反码、补码、移码的对应关系。,14,表2-1 二进制整数真值和原码、反码、补码、移码的对应关系,15,2.2 定点数据表示,数据表示是指计算机硬件可以识别的数据类型,常用的数值型数据表示分为定点数据表示和浮点数据表示两大类。定点数是小数点位置固定的数,也是计算机中最简单、最基本的一种数据表示。根据小数点固定的位置不同,又可分成定点整数、定点小数和无符号数。,16,2.2.1 定点整数表示定点整数表示是将小数点位置固定在最低有效数位后面的定点数。定点整数是纯整数,对字长n位的机器,定点整数表示的格式如图2-1所示。,17,当机器的字长为n时(包括一位符号位),定点整数表示的范围对原码和反码是:-(2n-1-1)2n-1-1对补码和移码来说,表示范围是:-2n-12n-1-1例如,当字长n=16时,原码和反码的表示范围是:-(215-1)215-1而补码和移码的表示范围是:-215215-1,18,表2-2 字长8位的定点整数能表示的4个典型值,19,例2-10 设机器字长n=16,最高位为符号位,写出X=11011011的原码、反码、补码和移码的定点整数表示。解:正数的原码、反码、补码的定点整数表示形式是完全一样的,它们在机器中的表示形式为:X原=X补=X反=0000000011011011移码在计算机中的表示形式为:X移,20,例2-11 设机器字长n=16,最高位为符号位,写出X=-11011011的原码、反码、补码和移码的定点整数表示。解:X原 X反 X补 X移,21,2.2.2 定点小数表示定点小数表示是将小数点固定在最高有效数位和符号位之间的定点数。定点小数是纯小数,对字长n位的定点小数表示格式如图2-2所示。,22,当字长为n时(包括一位符号位),原码和反码的表示范围是:-(1-2-(n-1)1-2-(n-1)对补码来说,表示范围是:-11-2-(n-1)例如,字长n=16时,对原码和反码来说,表示范围是:-(1-2-15)1-2-15对补码来说,表示范围是:-11-2-15,23,例2-12 设机器字长n=16,最高位是符号位,写出X=0.11011101的原码、反码、补码的定点小数表示。解:正数的原码、反码、补码的定点小数表示形式是相同的,它们在机器中的表示形式为:X原=X补=X反 例2-13 设机器字长n=16,最高位是符号位,写出X=-0.11011101的原码、反码、补码的定点小数表示。解:X原 X反 X补,24,2.2.3 无符号数表示无符号数是一种不设符号位的正整数。在无符号数表示中,由于符号位可以省略,所有的位都用来表示数值,小数点仍然规定在最低数位的后面,隐含表示。对字长为n的无符号数,其表示范围是:0到2 n-1。在计算机中,无符号数也是经常使用的,主存单元的地址编码就是采用无符号数表示的,如地址码为32位,主存单元的最小地址编码是:00000000H,最大地址编码是0FFFFFFFFH。针对无符号数的运算,计算机还设置有专门的指令。,25,在定点数表示中,当要表示的数比最大的数还大或比最小的数还小时,称为上溢,计算机要做相应的溢出处理;当要表示的数比最大非0负数还大,同时比最小非0正数还小时,称为下溢,计算机将其作为0处理。为了满足不同用户对数的表示范围和精度的要求,许多计算机采用了多种字长的定点数表示,如有的计算机就采用了8位、16位、32位、64 位四种定点数表示形式,可满足不同应用的要求。,26,2.3 浮点数据表示,浮点数是小数点位置不固定的数,对应高级语言中的实型数。此外,在科学计算和工程设计中,常常会遇到非常大或非常小的数。如太阳的质量是21030kg,电子的质量是910-31kg,太阳的质量大约是电子质量的2.221060倍。如此巨大的数,在定点数表示中是很难实现的。为此,在计算机中引入了浮点数据表示。在有浮点数表示的计算机中,编译程序可以直接将实型数转换成浮点数,既简化了软件的设计,又提高了计算机的工作效率。,27,2.3.1 浮点数据表示的格式和特点,N=0.111100012-0101其中,0.11110001将转换成尾数,-0101将转换成阶码,基数2则是隐含表示。在字长n=16,阶符、数符各占1位,阶码占6位,尾数占8位的浮点数格式中,浮点数N在机器中的表示形式为(阶码和尾数采用补码表示):N补=1111011,0.11110001其中,逗号和小数点是为了阅读方便加上的,在实际机器中并不存在。,28,例2-14 设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和11位(均含1位符号位)。将数X=-2729/32用浮点数格式表示。解:(1)将X转换成二进制代码:X=(-2729/32)10=(-27(292-5)10=(-21110.11101)2(2)按指定的浮点数格式表示:X补=00111,1.0001100000,29,阶码E采用定点整数表示,尾数M一般采用定点小数表示,这同科学计数法中的规定是有一定差别的。浮点数的正负取决于尾数的正负,所以数符也叫尾符。阶码的符号和阶码的绝对值共同决定小数点的位置,阶码为正时,绝对值越大,浮点数的绝对值越大;阶码为负时,绝对值越大,浮点数的绝对值越小。浮点数尾数的基数R在机器中不用硬件表示,是机器本身规定的。大部分机器取R=2,也有的机器取R=8 或 R=16。浮点数的表示范围主要取决于阶码的位数及基数,精度主要取决于尾数的位数。,30,2.3.2 浮点数的表示范围和规格化1.浮点数的表示范围 对阶码位数为m位(包含1位符号位)、尾数位数为n位(包含1位符号位)的浮点数,如尾数的基数为2,阶码和尾数都采用补码表示,则能表示的最小负数是:,(-1),能表示的最大正数是:,(1-2-(n-1),31,2浮点数表示的规格化如果一个浮点数不是规格化的,则要进行规格化处理。对基数为2的浮点数,当尾数的绝对值小于0.5时,需要进行左规格化(简称左规)处理。左规时尾数每左移一位,扩大2倍,阶码减1,保持浮点数真值不变,直到尾数的绝对值大于等于0.5为止。当尾数的绝对值大于1时,需要进行右规格化(简称右规)处理。右规时可将尾数右移,每右移一位,尾数缩小为1/2,阶码加1,保持浮点数真值不变,右规一般只进行一次就可满足规格化要求。,32,例2-15 浮点数采用补码表示,阶码位数为4位(包含1位符号位),尾数位数为6位(包含1位符号位),将浮点数0101,1.11011和1101,0.00010 规格化。解:浮点数0101,1.11011左规后(尾数左移2位,阶码减2)为:0011,1.01100。浮点数1101,0.00010左规后(尾数左移3位,阶码减3)为:1010,0.10000。,33,2.3.3 IEEE 754标准IEEE 754标准浮点数表示的格式,IEEE 754浮点数标准规定浮点数的第1位是符号位,阶码用移码表示,尾数用原码表示。IEEE 754浮点数有3种类型,格式如表2-4所示。,34,表2-4 IEEE 754的三种浮点数格式,35,在IEEE 754标准中,单精度的规格化浮点数表示为:N=1.M2E-127,如阶码的真值X=2,则可以计算出阶码值:E=127+2=129,二进制代码序列为:10000001;阶码的真值X=-22,则阶码值:E=127+(-22)=105,二进制代码序列为:01101001。例2-16 X=-10100.1101,用IEEE 754标准的单精度浮点数格式表示。解:X=-10100.1101=-1.01001101 2100。数的符号:Sf=1,数的阶码:E=01111111+100=10000011,数的尾数用原码表示,和真值相同,所以X在机器中的表示为(最高数位已隐含):,36,2.3.4 浮点数表示和定点数的比较 当字长相同时,浮点数表示的范围要大得多。如字长32位的定点整数,能表示的最大数是231-1,而IEEE 754标准中的单精度浮点数能表示的最大数大约是2127。浮点数表示比定点数表示的分辨率高。即绝对精度非常高(绝对精度随阶码变化)。IEEE 754标准中的单精度浮点数能表示的最高分辨率是2-126,比定点数要高得多。浮点数表示比定点数表示的应用范围更广。浮点数表示比定点数表示复杂、运算步骤多、硬件实现也复杂得多。浮点数表示和定点数表示判断溢出的方法不同。对规格化的浮点数判断溢出是通过判断阶码是否溢出进行的,只有阶码溢出,浮点数才算溢出,如果仅尾数溢出,可通过调整尾数和阶码,使其不溢出。,37,2.4 补码的加减运算及溢出判断,2.4.1 补码加法运算补码加法的公式为:X+Y补=X补+Y补公式说明,两个带符号的补码可以直接相加,和就是两个数和的补码,这一公式也适用于定点小数的补码加法运算。,38,操作码为“加”时,两数直接相加。例:求(X+Y)补,字长5位。,39,2.4.2 补码减法运算根据补码加法运算的公式很容易得出补码减法运算的公式:X-Y补=X+(-Y)补=X补+-Y补公式说明,求两个数差的补码,可以用被减数的补码加上和减数符号相反数的补码实现。这样,采用补码运算,就可以化减为加,计算机的运算器中只需要设计加法器,减法器就不需要了。,40,41,2.4.3 溢出判断在做加法和减法运算时,如果运算结果超出了数的表示范围,就会发生溢出,计算机需要将状态或标志寄存器的溢出标志位置1。由于同号相加或异号相减,是数的绝对值相加,有可能溢出,而异号相加或同号相减是绝对值相减,不会发生溢出。又由于减法可以化作加法来做,所以只讨论同号数的加法运算来判断溢出就可以了。计算机中判断溢出的方法有多种,下面介绍常用的两种方法。,42,1利用运算时符号位和最高数位的进位判断溢出采用单符号运算时,如果两个正数相加,符号位是不会产生进位的,如果最高数位产生了向符号位的进位,会使结果符号位成为1,显然结果就不对了。因为正数相加,结果只能是正的,结果是负数则说明运算结果溢出了。同理,如果两个负数相加,符号位必然产生进位,如果最高数位不产生向符号位的进位,会使结果符号位成为0,显然结果就不对了。因为负数相加,结果只能是负的,结果是正数则说明运算结果溢出了。,43,对以上的讨论进行概括,可得出结论:如果运算时符号位和最高数位产生的进位不一致,则发生溢出,运算时符号位和最高数位产生的进位一致,则不发生溢出。设运算时符号位产生的进位是Cn,最高数位产生的进位是Cn-1,则运算溢出的条件是:CnCn-1=1,可以用一个异或门电路实现溢出判断。,44,45,2采用双符号位判断溢出双符号位补码又叫变形补码,编码时正数的符号位用00表示,负数的符号位用11表示。当运算结果的符号位是01时,结果为正,但发生正溢出;运算结果的符号位是10时,结果为负,但发生负溢出;运算结果的符号位是00或11时,结果正确,没有发生溢出。设结果的第一符号位是Sf1,第二符号位是Sf2,则溢出的条件是:Sf1Sf2=1,也可以用一个异或门电路实现溢出判断。采用变形补码判断溢出,不但能判断溢出,第一符号位还能指出是正溢出还是负溢出,只是在运算时要增加一位符号位。,46,第一符号位Sf1,第二符号位Sf2,47,2.5.1 算术移位算术移位左移相当于乘以2,右移相当于除以2,和加减运算配合,可实现计算机中的乘除运算。但左移时不应改变数的符号位,如果符号位改变,结果就不正确了。1原码移位原码的移位规则是符号位不参加移位,左移数值位高位移出,末位补0;右移数值位低位移出,高位补0。当最高数位是1时,左移会丢失数的高位,出现错误;当最低数位是1时,右移会损失数的精度。,2.5 移位运算,48,例2-30 X原=00000010,Y原=10000011,将X原 和Y原 左移两位。解:按照原码的移位规则,左移两位后:X原=00001000,Y原=10001100。例2-31 X原=00000100,Y原=10011000,将X原 和Y原 右移两位。解:按照原码的移位规则,右移两位后:X原=00000001,Y原=10000110。,49,2补码移位补码的移位规则是符号位参加移位,左移数的末位补0,符号位移出,最高数位会移到符号位;右移数的符号不变,高位补符号位,末位移出。当正数补码的最高数位是1或负数补码的最高数位是0时,左移会改变数的符号,同时丢失数的高位;当最低数位是1时,右移会损失数的精度。,50,例2-32 X补=00000011,Y补=11110101,将X补 和Y补 左移两位。解:按照补码的移位规则,左移两位后:X补=00001100,Y补=11010100。例2-33 X补=00011100,Y 补=11111100,将X 补 和Y 补 右移两位。解:按照补码的移位规则,右移两位后:X 补=00000111,Y 补=11111111。,51,2.5.2 逻辑移位逻辑移位将移位的数看成一串二进制代码,没有大小和正负之分,所有的数位都参加移位,可用于实现数的串行和并行之间的转换等功能。逻辑移位有左移、右移、循环左移和循环右移等几种。,52,1逻辑左移和右移逻辑左移规则是高位移出,末位补0;逻辑右移的规则是高位补0,低位移出。例2-34 X=10101010,Y=01010101,将X 和Y 右移两位。解:按照逻辑移位规则,左移2位后:X=10101000,Y=01010100。例2-35 X=11110000,Y=00001111,将X 和Y 右移两位。解:按照逻辑移位规则,右移2位后:X=001111100,Y=00000011。,53,2循环左移和右移循环移位是将移位的数首尾相连进行移位,循环左移的规则是将移出的高位补到最低位,循环右移的规则是将移出的低位补到最高位。在许多计算机中,移位还可以带进位位进行,移位时移出的位移到进位位,带进位循环移位还将进位位看成数的一部分参加移位。,54,例2-36 X=11010101,Y=00101010,将X 和Y循环左移两位。解:按照循环移位规则,左移2位后:X=01010111,Y=10101000。例2-37 X=01110001,Y=10001110,将X和Y循环右移两位。解:按照循环移位规则,右移2位后:X=01011100,Y=10100011。,55,作业:1、2、4、8、9,56,本章结束,谢谢,

    注意事项

    本文(硬件第2章计算机运算基础.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开