微机原理概述和数制.pptVIP

  • 2
  • 0
  • 约1.2万字
  • 约 87页
  • 2019-11-06 发布于广东
  • 举报
* 反码[X]反 定义 若X0 ,则 [X]反=[X]原 若X0, 则 [X]反= 对应原码的符号位 不变,数值部分按位求反 * [例]: X= - 52 = -0110100 [X]原 = [X]反 = * 反码的例子 真值 X=+18=+0010010 X=-18=-0010010 反码 [X]反 =0 0010010 [X]反 =1 1101101 符号 符号位 n位反码表示数值的范围是 对应的反码是100?0~ 011?1。 * 0的反码: [+0]反 = [-0]反 = 即:数0的反码也不是唯一的。 * 补码 定义: 若X0, 则[X]补= [X]反= [X]原 若X0, 则[X]补= [X]反+1 * [例]: X= –52= – 0110100 [X]原 = [X]反 = [X]补 = [X]反+1n位补码表示数值的范围是 对应的补码是100?0~ 011?1。 * 0的补码: [+0]补= [+0]原[-0]补= [-0]反+11 =1 对8位字长,进位被舍掉 ∴[+0]补= [-0]补=* 特殊数的二进该数在原码中定义为: -0 在反码中定义为: -127 在补码中定义为: -128 对无符号数:2 = 128 * 8位有符号数的表示范围: 对8位二进制数: 原码: -127 ~ +127 反码: -127 ~ +127 补码: -128 ~ +127 想一想:16位有符号数的表示范围是多少? * 2. 有符号二进制数与十进制的转换 对用补码表示的二进制数: 1)求出真值 2)进行转换 * [例]: 将一个用补码表示的二进制数转换为十进制数。 1) [X]补 = 0 0101110B 真值为:+0101110B 正数         所以:X=+46 2) [X]补 = 1 1010010B 负数 X = [[X]补]补 = 补 = - 0101110B 所以:X = - 46 * 3. 补码加减法的运算规则 通过引进补码,可将减法运算转换为加法运算。规则如下:    [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补- [Y]补   其中X,Y为正负数均可,符号位参与运算。 * *补码的运算原理 模(module)就是一个计数系统的最大容量。例如,钟表的模为12,8位二进制数的模为28。 凡是用器件进行的运算都是有模运算,运算结果超过模的部分会被运算器自动丢弃。因此,当器件为n位时,有 X=2n+X (mod 2n) 不难验证, [X]补=2n+X (mod 2n) 因此,    [X?Y]补= 2n + (X?Y) (mod 2n)     = (2n+X) + (2n ?Y) (mod 2n) = [X]补+ [?Y]补 * [例]: X=-0110100,Y=+1110100,求[X+Y]补 [X]原 [X]补= [X]反+1[Y]补= [Y]原所以: [X+Y]补= [X]补+ [Y]补 01110100 * 4. 符号数运算中的溢出问题 进(借)位—— 在加法过程中,符号位向更高位产生进位; 在减法过程中,符号位向更高位产生借位。 溢出—— 运算结果超出运算器所能表示的范围。 * 溢出的判断方法 方法1: 同号相减或异号相加——不会溢出。 同号相加或异号相减——可能溢出: 两种情况: 同号相加时,结果符号与加数符号相反——溢出;  异号相减时,结果符号与减数符号

文档评论(0)

1亿VIP精品文档

相关文档