- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运算方法与运算部件
运算方法与运算部件 ——定点运算 定点运算 移位运算 计算机中小数点位置是约定的,当对计算机中的数进行左右移操作时,相当于对其进行了相应的乘除运算 十进制:100左移一位成为1000,相当于乘以10;右移两位为1,相当于除以100=102 二进制:1101=13,左移一位,低位补什么?右移一位,低位补什么? 移位运算 算术移位规则 移位后符号位不变 正数:移位后的空位均用 0 补足 负数:原码补 0 ,反码补 1,补码左 0 右1(左移时空位补0,右移时空位补1) 移位运算 算术移位例1 设机器字长为8位(含1位符号位),将十进制数26的原、反、补码分别左、右移一位和两位后的结果及其对应真值,并分析结果的正确性。 解:26=11010B,[26]原=0,0011010 移位运算 算术移位例1 设机器字长为8位(含1位符号位),将十进制数-26的原、反、补码分别左、右移一位和两位后的结果及其对应真值,并分析结果的正确性。 解:-26=-11010B,[26]原=1,0011010 移位运算 移位运算 算术移位的硬件实现 逻辑移位 逻辑移位规则 逻辑左移时,高位丢弃,低位补0 逻辑右移时,低位丢弃,高位补0 eg逻辑左移 算术左移 逻辑右移 (视为补码)算术右移为避免算术左移时丢失有效位,通常在状态寄存器中指定一位存放算术左移时移出的进位信息 知识回顾 数制——数值的处理 定点数——小数点问题 有符号数——符号问题 码制 原码——解决了负数问题,但运算复杂 补码——解决了负数运算问题 定点移位运算——帮助解决乘除问题 定点加减运算 定点乘法运算 作业 P290 6.19 6.20 改造算法以后分析: 1、小数点固定了。 2、一次只进行两个数相加。 3、由于相加在高n位进行,所以只设n位加法器就可以了。 上述三个问题得到了解决。 但是只能说这个算法可行,如果引入计算机执行, 还要与计算机的具体实现相结合。 原码一位乘法 实施方案: 1、运算中,若 Yi =1 则 +X;若 Yi =0 则 +0。 说明 Yi 起到判断运算的作用,运算后,Y 的值无需保留。 这样,可以将 Yi 操作固定在最低位, 即要求乘数Y每完成一步操作,右移一位。 2、由于相加在高 n 位进行,乘积右移出的低位部分, 可存入乘数Y的寄存器高位空出的位置中。 3、为了在机器中实现乘法运算,运算器必须设置三个寄存器 A、B、C。 寄存器 A 存放部分积(其初值为 0 )和最后乘积的高位部分 寄存器 B 存放被乘数 X 寄存器 C 存放乘数 Y 运算后不再保留乘数Y,运算完成后存放乘积的低位部分。 原码一位乘法 0 . 0000 0 + 0 . 1101 +X 0 . 1101 X+0 0 . 0110 1 2-1 (X+0) + 0 . 1101 +X 1 . 0011 1 X+2-1 (X+0) 0 . 1001 11 2-1 {(X+2-1 (X+0)} + 0 . 0000 +0 0 . 1001 11 0+2-1 {(X+2-1 (X+0)} 0 . 0100 111 2-1{0+2-1 {(X+2-1 (X+0)}} + 0 . 1101 +X 1 . 0001 111 X+ 2-1{0+2-1 {(X+2-1 (X+0)}} 0 . 1000 1111 2-1{X+ 2-1{0+2-1 {(X+2-1 (X+0)}}} 设: X = 0.1101, Y = - 0.1011。 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 Y Y中最初装的是被乘数,最后装的是积的低位部分。 [ XY ]原 = 1 .原码一位乘法 0 . 0000 设部分乘积 A=0
文档评论(0)