




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 康葆荣 计算机计算方法 6 1无符号数和有符号数 6 3定点运算 6 2数的定点表示和浮点表示 6 4浮点四则运算 6 5算术逻辑单元 本讲简要说明 目的与要求 熟悉计算机中的数据表示方法 了解计算机的基本运算和定点加减运算授课重点 数据表示方法 基本运算 定点加减运算授课难点 数据表示方法 定点加减运算 数据是计算机加工和处理的对象 数据的机器层次表示将直接影响到计算机的结构和性能 算术和逻辑单元 Arithmetic LogicUnit 执行运算计算机其它部件都是服务于该部件可以处理整数也可以处理浮点数 floatingpoint real numbers ALUInputsandOutputs IntegerRepresentation 无符号数表示 只用0 1来表示每个数字正数以二进制形式保存e g 41 00101001没有负号 minussign 没有小数点Noperiod符号 幅值表示法Sign Magnitude补码表示法Two scompliment 符号 幅值表示法 原码Sign Magnitude 最左边的位是符号位0表示正1means负 18 00010010 18 10010010问题NeedtoconsiderbothsignandmagnitudeinarithmeticTworepresentationsofzero 0and 0 补码表示法 时钟正拨和倒拨模和同余 结论 一个负数加上 模 即得该负数的补数 一个正数和一个负数互为补数时它们绝对值之和即为模数 计数器 模16 1011 0000 1011 10000 6 1 mod23 101 mod2 1 0111 补码定义 整数 x为真值 n为整数的位数 如 x 1010 x 补 0 1010 1 0101000 用逗号将符号位和数值部分隔开 1011000 100000000 补码表示 3 00000011 2 00000010 1 00000001 0 00000000 1 11111111 2 11111110 3 11111101 优点 0的表示是唯一的运算容易 seelater 求补码容易3 00000011Booleancomplementgives11111100Add1toLSB11111101 补码特例1 0 00000000Bitwisenot11111111Add1toLSB 1Result100000000Overflowisignored so 0 0 补码特例2 128 10000000取反01111111Add1toLSB 1Result10000000So 128 128X 补码的范围 8bit2scompliment 127 01111111 27 1 128 10000000 2716bit2scompliment 32767 01111111111111111 215 1 32768 10000000000000000 215 反码表示法 1 定义 整数 如 x 1101 x 反 0 1101 1 0010 x为真值 n为整数的位数 6 1 小数 x 0 1101 x 反 0 1101 1 0101 如 x为真值 6 1 n为小数的位数 2 举例 例6 10求0的反码 设x 0 0000 0 0000 反 0 0000 解 同理 对于整数 0 反 0 0000 例6 9已知 x 反 1 1110求x 例6 8已知 x 反 0 1110求x 解 由定义得x 1110 解 6 1 移码表示法 补码表示很难直接判断其真值大小 如 十进制 x 25 10101 100000 11111 100000 错 错 正确 正确 0 10101 1 01011 0 11111 1 00001 10101 10101 11111 11111 110101 001011 111111 000001 二进制 补码 1 移码定义 x为真值 n为整数的位数 移码在数轴上的表示 如 x 10100 x 移 25 10100 用逗号将符号位和数值部分隔开 x 10100 x 移 25 10100 1 10100 0 01100 当x 0时 0 移 25 0 当n 5时 可见 最小真值的移码为全0 移码的特点 用移码表示浮点数的阶码 能方便地判断浮点数的阶码大小 1 00000 1 00000 000000 6 1 1 比较对于正数它们都等于真值本身 而对于负数各有不同的表示 最高位都表示符号位 补码和反码的符号位可作为数值位的一部分看待 和数值位一起参加运算 但原码的符号位不允许和数值位同等看待 必须分开进行处理 对于真值0 原码和反码各有两种不同的表示形式 而补码只有唯一的一种表示形式 原码 反码表示的正 负数范围相对零来说是对称的 但补码负数表示范围较正数表示范围宽 能多表示一个最负的数 绝对值最大的负数 其值等于 2n 纯整数 或 1 纯小数 三种码制的比较与转换 数值数据的表示 设机器字长4位 含1位符号位 以纯整数为例 原码或反码可表示的数 补码可表示的数 多表示一个负数 真值与3种机器数间的对照 2 转换 如果已知机器的字长 则机器数的位数应补够相应的位 例如 设机器字长为8位 则 X1 1011X2 1011 X1 原 00001011 X2 原 10001011 X1 补 00001011 X2 补 11110101 X1 反 00001011 X2 反 11110100X3 0 1011X4 0 1011 X3 原 0 1011000 X4 原 1 1011000 X3 补 0 1011000 X4 补 1 0101000 X3 反 0 1011000 X4 反 1 0100111 6 2数的定点表示和浮点表示 小数点按约定方式标出 一 定点表示 定点机 小数定点机 整数定点机 原码 补码 反码 1 2 n 1 2 n 2n 1 2n 1 1 1 2 n 2n 2n 1 1 2 n 1 2 n 2n 1 2n 1 二 浮点表示 计算机中r取2 4 8 16等 当r 2 N 11 0101 0 110101 210 1 10101 21 1101 01 2 10 0 00110101 2100 计算机中S小数 可正可负 j整数 可正可负 规格化数 6 2 1 浮点数的表示形式 Sf代表浮点数的符号 n其位数反映浮点数的精度 m其位数反映浮点数的表示范围 jf和m共同表示小数点的实际位置 6 2 2 浮点数的表示范围 2 2m 1 1 2 n 2 2m 1 2 n 2 2m 1 1 2 n 2 2m 1 2 n 215 1 2 10 2 15 2 10 215 1 2 10 上溢阶码 最大阶码下溢阶码 最小阶码按机器零处理 6 2 2 15 2 10 3 浮点数的规格化形式 r 2 尾数最高位为1 r 4 尾数最高2位不全为0 r 8 尾数最高3位不全为0 4 浮点数的规格化 r 2 左规尾数左移1位 阶码减1 右规尾数右移1位 阶码加1 r 4 左规尾数左移2位 阶码减1 右规尾数右移2位 阶码加1 r 8 左规尾数左移3位 阶码减1 右规尾数右移3位 阶码加1 基数r越大 可表示的浮点数的范围越大 基数不同 浮点数的规格化形式不同 基数r越大 浮点数的精度降低 6 2 例如 最大正数 215 1 2 10 最小正数 最大负数 最小负数 2 15 2 1 215 1 2 10 2 16 2 15 2 1 2 16 设m 4 n 10 r 2 尾数规格化后的浮点数表示范围 6 2 将 58表示成二进制定点数和浮点数 并写出它在定点机和浮点机中的三种机器数及阶码为移码 尾数为补码的形式 其他要求同上例 例6 14 x 111010 0000 解 设x 58 二进制形式 定点表示 浮点规格化形式 x 原 1 0000111010 x 补 1 1111000110 x 反 1 1111000101 x 原 0 0110 1 1110100000 x 补 0 0110 1 0001100000 x 反 0 0110 1 0001011111 定点机中 浮点机中 x 阶移 尾补 1 0110 1 0001100000 x 111010 x 0 1110100000 2110 6 2 当浮点数尾数为0时 不论其阶码为何值按机器零处理 机器零 当浮点数阶码等于或小于它所表示的最小数时 不论尾数为何值 按机器零处理 如m 4n 10 当阶码用移码 尾数用补码表示时 机器零为 有利于机器中 判0 电路的实现 当阶码和尾数都用补码表示时 机器零为 6 2 IEEE754格式 浮点数 FloatingPoint significandx2exponent小数点位于符号位和尾数之间Exponent指示小数点位置 IEEE754标准的浮点数 最高位为数符位 其后是8位阶码 以2为底 阶码的偏置值为127 其余23位是尾数 隐含尾数最高数位1 24位 隐含的1是一位整数 即位权为20 浮点数的阶码采用移码的原因 便于比较浮点数的大小 阶码大的 其对应的真值就大 阶码小的 对应的真值就小 简化机器中的判零电路 当阶码全为0 尾数也全为0时 表示机器零 浮点数的符号 最高位表示尾数的符号阶码用移码来表示e g 偏移量128means8bitexponentfieldPurevaluerange0 255Subtract128togetcorrectvalueRange 128to 127 规格化尾数 浮点数通常都是规格化的i e 通过阶码的调整使得尾数的最高位是1因为规格化的最高位总是1 因此没有必要来专门保存它e g 3 123x103 FloatingPointExamples FPRanges 对于一个32位数8bitexponent 精度23bitmantissa IEEE754标准的浮点数 例13 将 100 25 10转换成短浮点数格式 十进制数 二进制数 100 25 10 1100100 01 2 非规格化数 规格化数1100100 01 1 10010001 26 计算移码表示的阶码 偏置值 阶码真值 1111111 110 10000101 以短浮点数格式存储该数 符号位 0阶码 10000101尾数 10010001000000000000000 IEEE754标准的浮点数 续 短浮点数代码为0 10000101 10010001000000000000000表示为十六进制的代码 42C88000H 例14 把短浮点数C1C90000H转换成为十进制数 十六进制 二进制形式 并分离出符号位 阶码和尾数 C1C90000H 1 10000011 10010010000000000000000 IEEE754标准的浮点数 续 计算出阶码真值 移码 偏置值 10000011 1111111 100 以规格化二进制数形式写出此数1 1001001 24 写成非规格化二进制数形式11001 001 转换成十进制数 并加上符号位 11001 001 2 25 125 10所以 该浮点数 25 125 6 3定点运算 一 移位运算 1 移位的意义 15m 1500cm 小数点右移2位 机器用语 左移绝对值扩大 右移绝对值缩小 在计算机中 移位与加减配合 能够实现乘除运算 2 算术移位规则 1 右移添1 左移添0 0 反码 补码 原码 负数 0 原码 补码 反码 正数 添补代码 码制 符号位不变 6 3 例6 16 设机器数字长为8位 含 位符号位 写出A 26时 三种机器数左 右移一位和两位后的表示形式及对应的真值 并分析结果的正确性 解 A 26 则 A 原 A 补 A 反 0 0011010 6 0 0000110 13 0 0001101 104 0 1101000 52 0 0110100 26 0 0011010 移位前 11010 6 3 左移一位 左移两位 右移一位 右移两位 例6 17 设机器数字长为8位 含 位符号位 写出A 26时 三种机器数左 右移一位和两位后的表示形式及对应的真值 并分析结果的正确性 解 A 26 6 1 0000110 13 1 0001101 104 1 1101000 52 1 0110100 26 1 0011010 移位前 原码 11010 6 3 左移一位 左移两位 右移一位 右移两位 6 1 1111001 13 1 1110010 104 1 0010111 52 1 1001011 26 1 1100101 移位前 7 1 1111001 13 1 1110011 104 1 0011000 52 1 1001100 26 1 1100110 移位前 补码 反码 6 3 左移一位 左移两位 右移一位 右移两位 左移一位 左移两位 右移一位 右移两位 6 1 1111001 13 1 1110010 104 1 0010111 52 1 1001011 26 1 1100101 移位前 7 1 1111001 13 1 1110011 104 1 0011000 52 1 1001100 26 1 1100110 移位前 补码 反码 6 3 左移一位 左移两位 右移一位 右移两位 左移一位 左移两位 右移一位 右移两位 4 算术移位和逻辑移位的区别 算术移位 有符号数的移位 逻辑移位 无符号数的移位 逻辑左移 逻辑右移 低位添0 高位移丢 高位添0 低位移丢 例如01010011 逻辑左移 10100110 逻辑右移 01011001 算术左移 算术右移 00100110 11011001 补码 高位1移丢 10110010 6 3 二 加减法运算 1 补码加减运算公式 1 加法 2 减法 整数 A 补 B 补 A B 补 mod2n 1 小数 A 补 B 补 A B 补 mod2 整数 A B 补 A B 补 A 补 B 补 mod2n 1 小数 A B 补 A B 补 mod2 连同符号位一起相加 符号位产生的进位自然丢掉 A 补 B 补 6 3 2 举例 解 A 补 B 补 A 补 B 补 0 1011 1 1011 10 0110 A B 补 验证 0 1011 0 0101 0 0110 A B 0 0110 A 补 B 补 A 补 B 补 1 0111 1 1011 11 0010 A B 补 验证 1001 1110 解 A B 1110 6 3 3 溢出判断 1 一位符号位判溢出 参加操作的两个数 减法时即为被减数和 求补 以后的减数 符号相同 其结果的符号与原操作数的符号不同 即为溢出 硬件实现 如 有溢出 无溢出 6 3 溢出 2 两位符号位判溢出 x 补 y 补 x y 补 mod4 x y 补 x 补 y 补 mod4 结果的双符号位相同未溢出 结果的双符号位不同溢出 最高符号位代表其真正的符号 6 3 补码加减运算的逻辑电路 6 3定点乘法运算 在计算机中 乘法运算大多数由累加与移位来实现 也有些机器中具有由大规模集成电路制造的阵列乘法模块 乘法运算 Multiplication 比加减法运算复杂计算每一位的部分积注意移位对部分积相加例 1011x1101 乘法举例 1011被乘数Multiplicand 11dec x1101乘数Multiplier 13dec 1011部分积Partialproducts0000Note ifmultiplierbitis1copy1011multiplicand placevalue 1011otherwisezero10001111乘积Product 143dec Note needdoublelengthresult自己设计 寄存器数目 硬件实现 ExecutionofExample 乘法流程图 补码乘法运算 无符号数乘法运算策略不适用 解决方法1将乘数和被乘数转换成正数按无符号数乘法规则相乘如果符号不同 则结果取负解决方法2Booth salgorithm 布思算法 1011x1101 1001x0011 原因2 原因1 Booth salgorithm 布思算法 M 00011110 M 21 22 23 24 M 611111010 Booth sAlgorithm ExampleofBooth sAlgorithm 7 3 7 3 除法运算 Division 比乘法运算更加复杂Negativenumbersarereallybad Basedonlongdivision 001111 DivisionofUnsignedBinaryIntegers 1011 00001101 10010011 1011 001110 1011 1011 100 Quotient Dividend Remainder PartialRemainders Divisor FlowchartforUnsignedBinaryDivision 恢复余数法 不恢复余数法 补码的除法运算 除数装入M寄存器 被除数装入Q寄存器 被除数必须以2n位的补码来表示 0111 00000111A Q左移一位 M A符号相同 则A A M否则A A M如果A在操作后符号未改变 则上述操作成功 1 操作成功则Q 1 2 操作不成功Q 0 重复上述步骤 余数在A中 如果被除数与除数符号相同 则Q为商 否则Q中数值的2的补码才是正确的商 补码除法运算示例 6 4 1浮点加减运算 A MA B MB 规格化浮点数A B加减运算通式为 A B MA EA MB EB 6 4规格化浮点运算 1 浮点数加减运算步骤 检查操作数是否有0对阶对阶的规则是 小阶向大阶看齐 尾数加 减尾数结果规格化 浮点数加减运算流程 2 浮点数加减运算举例 有两浮点数为A 0 101110 2 01B 0 101011 2 10假设这两数的格式 阶码4位 用移码 偏置值为23 表示 尾数8位 用补码表示 包含一位符号位 即阶码尾数 A 浮 0111 0 1011100 B 浮 0110 1 0101010 对阶求阶差 E EA EB 1 2 1 E 1 表示EA EB 按对阶规则 将MB右移一位 EB 1 EB 得 B 浮 0111 1 1010101 尾数求和00 1011100 11 101010100 0110001 尾数结果规格化由于结果的尾数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年丽水市直事业单位公开选聘人员24人考前自测高频考点模拟试题及答案详解(必刷)
- 2025甘肃科源电力有限公司高校毕业生招聘40人考前自测高频考点模拟试题及完整答案详解
- 2025年黑河市公安局爱辉分局面向社会公开招聘42名警务辅助人员考前自测高频考点模拟试题(含答案详解)
- 班组安全教育培训评价课件
- 班组安全技能培训记录课件
- 班组安全培训资料模板课件
- 2025年长河镇人民政府公开招聘编外工作人员3人模拟试卷及答案详解(易错题)
- 2025广西河池市招聘紧缺学科教师118人模拟试卷及答案详解(新)
- 2025海南文昌市人民医院招聘编外合同制护理人员10人考前自测高频考点模拟试题附答案详解
- 2025年海南省三支一扶招聘考试模拟试卷及完整答案详解一套
- 2026届湖南省天一大联考高三上学期阶段性检测(一)数学试题
- 中职生就业指导课件
- 《国庆假期安全教育》课件
- 2025年辅警招聘考试试题库及完整答案(历年真题)
- 2025湖北宜昌市不动产交易和登记中心招聘编外聘用人员17人考试参考题库及答案解析
- 2025下半年四川内江市隆昌诚信农业产业化融资担保有限责任公司招聘4人考试参考题库及答案解析
- 《春江花月夜》课件+2025-2026学年统编版高二语文选择性必修上册
- 广州中侨置业投资控股集团有限公司债权资产评估报告
- 脑梗的课件和提纲
- 监控工程试运行方案(3篇)
- 2025年秋季学期学校红领巾监督岗工作实施细则
评论
0/150
提交评论