第1章:微型计算机基础知识.ppt

第1章:微型计算机基础知识

(三)补码的运算 可以看出,不论被加数、加数是正数还是负数,只要直接用它们的补码直接相加,当结果不超出补码所表示的范围时,计算结果便是正确的补码形式。但当计算结果超出补码表示范围时,结果就不正确了,这种情况称为溢出。 2. 补码减法 补码减法的运算规则为: 例 已知 [+51]补=0011 0011B,[+66]补=0100 0010B [?51]补=1100 1101B,[?66]补=1011 1110B 求 [+66]补?[+51]补=? [-66]补-- [-51]补=? 可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最高位向更高位的进位会自动丢失而不影响运算结果的正确性。 计算机中带符号数用补码表示时有如下优点: ① 可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和减法运算,简化了电路。 ② 无符号数和带符号数的加法运算可以用同一个加法器实现,结果都是正确的。例如: 无符号数 带符号数 225 [-31]补 +) +) 13 +) [+13]补 238 [-18]补 若两操作数为无符号数时,计算结果为无符号,其真值为238,结果正确;若两操作数为补码形式,计算结果也为补码形式为–18的补码,结果也是正确的。 (四) 溢出及其判断方法 1. 进位与溢出 所谓进位,是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。 溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。就叫补码溢出,简称溢出。 2. 判断溢出的方法 ① 根据参加运算的两数的符号及运算结果的符号判断溢出 例: 两数x,y (x0,y0) x-y y-x 但 x+y 和应为正,若为负则有溢出。 -x-y 和应为负,若为正则有溢出。 皆不会产生溢出。 ② 用双高位法来进行判断 b7”b6”……b2”b1”b0” + b7’b6’……b2’b1’b0’ b7 b6……..b2 b1 b0 0 b7无进位 1 b7有进位 1 溢出 0 无溢出 0 b6无进位 1 b6有进位 Cp= Cs?Cp= 溢出的处理:增加字长。 Cs= 最高位进位 次高位进位 例 设有两个操作数x,y,将这两个操作数送运算器做加法运算,试问:① 若为无符号数,计算结果是否正确?② 若为带符号补码数,计算结果是否溢出? 例 设有两个操作数x,y,将这两个操作数送运算器做加法运算,试问:① 若为无符号数,计算结果是否正确?② 若为带符号补码数,计算结果是否溢出? 四、数的定点和浮点表示 计算机不仅要处理整数运算,还需处理小数运算,如何处理小数点位置是十分重要的。通常有定点与浮点两种方法。 (一)、定点表示法 小数点位置在数中固定不变 常用两种为: 1. 定点纯小数 小数点固定在最高数值位左边,其本身不占位 其格式为 尾数S 符号位 ↑ 小数点隐含在此处 2. 定点纯整数 小数点固定在最低数值位右边,其本身不占位 其格式为 尾数S 符号位 ↑小数点隐含在此处 例1:有如下两个8位二进制数 0 1 0 1 0 1 0 0 N1: ↑符号位 ↑小数点位置 1

文档评论(0)

1亿VIP精品文档

相关文档