二、带符号二进制代码 n位二进制数值码 (真值)加一位符号位构成机器数。 常用的带符号二进制代码: 原码 (True Form)X]原 反码 (One's Complement)[X] 补码 (Two's Complement)[X] 最高位为符号位:“0”表示正数, 《1”表示负数。 正数的三种代码相同,都是数值码最高位加符号位 60”。 即X≥0时,真值与码值相等,且:X=X原=[X反=X补例: 4位二进制数X=1101和Y=0.1101 [X原=X]反=X补=01101,[Y]原=Y]反=Y]补=0.1101
二、带符号二进制代码 n位二进制数值码(真值)加一位符号位构成机器数。 常用的带符号二进制代码: 原码(True Form)[X]原 反码(One’s Complement)[X]反 补码(Two’s Complement)[X]补 最高位为符号位:“0‖表示正数,“1‖表示负数。 正数的三种代码相同,都是数值码最高位加符号位 “0‖ 。 即X≥0时,真值与码值相等,且:X=[X]原= [X]反= [X]补例: 4位二进制数X=1101和Y=0.1101 [X]原= [X]反= [X]补= 01101, [Y]原= [Y]反= [Y]补= 0.1101
1、负数的二进制原码X原。 原码表示方式: n位数值码加最高位符号位“1”。 负整数的+1位二进制原码值与真值X的关系: [X]原=2n-X=2n+|X|,-2n<X<0 例:4位二进制整数X=-1101,[X]原=11101 负小数的原码值与真值X的关系: [X原=1-X=1+|X|,-1<X≤0 [+0]原=0.000..0,【-0]原=1.000..0 例:4位二进制小数Y=-0.1101,[X]原=1.1101
1、负数的二进制原码[X]原。 原码表示方式: n位数值码加最高位符号位“1‖ 。 负整数的n+1位二进制原码值与真值X的关系: [X]原 = 2n - X = 2n +∣X∣,- 2n <X ≤0 例: 4位二进制整数 X = -1101, [X]原= 11101 负小数的原码值与真值X的关系: [X]原 = 1- X = 1 +∣X∣ ,- 1<X ≤0 [+0]原 = 0.000……0 , [-0]原 =1.000……0 例: 4位二进制小数 Y= - 0.1101, [X]原= 1.1101
原码表示法的特点: 1、代码直观,求取方便,符号位加绝对值的二进制码。 2、0有两组代码。 3、 异号加运算步骤复杂,要判断符号和两数的绝对值大小。 将绝对值大的数减去绝对值小的数。运算结果的符号位 与绝对值大的数相同。 例:A=1101,B=-1001,C=0111, 求D=A+B,E=C+B ①[A]原=01101[B]原=11001,因|A|>|B|,D>0。 |D|=|A|-|B|=1101-1001=0100,[D]原=00100. ② [C]原=00111,因|B|>|C|,所以E<0 |E|=|B|-|C|=1001-0111=0010, [E]原=10010
原码表示法的特点: 1、代码直观,求取方便,符号位加绝对值的二进制码。 2、 0有两组代码。 3、异号加运算步骤复杂,要判断符号和两数的绝对值大小。 将绝对值大的数减去绝对值小的数,运算结果的符号位 与绝对值大的数相同。 例: A=1101, B=-1001,C=0111, 求D=A+B,E=C+B ①[A]原=01101 [B]原=11001,因︱A︱>︱B︱,D > 0。 ︱D︱=︱A︱-︱B︱= 1101-1001=0100,[D]原= 00100. ② [C]原=00111 ,因︱B︱>︱C︱, 所以E< 0 ︱ E︱ = ︱B︱-︱C︱ = 1001-0111=0010, [E]原= 10010
2、负数的二进制反码X)反 负整数反码表示方式: n位真值码各位取反再加最高位符号位“1”。n+1位二 进制反码值与真值X的关系: [X]反=2+1-1+X,-2n<X≤0 例:4位二进制整数 X=-1101,[X].=10010 负小数反码表示方式: 位数值码各位取反,整数位为符号位“1”,反码值与真 值X的关系。 [X反=2-2-n+X,-1<X<0 [+0]反=0.000..0,-0]反=1.111..1 例:4位二进制小数 Y=-0.1101,[X]原=1.0010
2、负数的二进制反码[X]反 负整数反码表示方式: n位真值码各位取反再加最高位符号位“1‖ 。n+1位二 进制反码值与真值X的关系: [X]反 = 2n+1 – 1+X ,- 2n <X ≤0 例: 4位二进制整数 X = -1101, [X]反= 10010 负小数反码表示方式: n位数值码各位取反,整数位为符号位“1‖ ,反码值与真 值X的关系。 [X]反 = 2– 2-n +X ,- 1<X ≤0 [+0]反 = 0.000……0, [-0]反 =1.111……1 例: 4位二进制小数 Y= - 0.1101, [X]原= 1.0010
运用反码进行二进制整数减法运算: A-B=A+(-B)=A+X=D,A、B>0,X<0 远算结果:[A反+X]反=A+2+1-1+X=D+2n+1-1 运算后和的反码[D]反=[A]反+[X]反,与D的符号有关。 若A>B,D>0,[D]反D 而加反码的运算和:D+2+1-1≥2n+1,第n+2位=1, 运算和略去进位2+1再加1才等于D的反码。 若A<B,D<0, [D]反=D+2n+1-1 而加反码的运算和:D+2n+1-1≤2+1,第n+2位=0 运算和等于D的反码,不需处理(或加0) 所以,电路进行整数反码加运算后必须对和再处理 后才能得到真正的运算结果,方法: 将n+1位二进制加运算的进位信号再加到和的最低位
运用反码进行二进制整数减法运算: A-B=A+(-B)= A + X = D, A、B > 0,X < 0 运算结果:[A]反 +[X]反= A+ 2n+1 – 1+X =D + 2n+1 – 1 运算后和的反码 [D]反= [A]反 +[X]反,与D的符号有关。 若 A > B ,D > 0, [D]反=D 而加反码的运算和:D + 2n+1 – 1 ≥ 2n+1 ,第n+2位=1, 运算和略去进位2n+1再加1才等于D的反码。 若A<B,D<0, [D]反 = D+2n+1 – 1 而加反码的运算和: D + 2n+1 – 1 ≤ 2n+1 ,第n+2位=0 运算和等于D的反码,不需处理(或加0)。 所以,电路进行整数反码加运算后必须对和再处理 后才能得到真正的运算结果,方法: 将n+1位二进制加运算的进位信号再加到和的最低位