吉林大学计算机科学与技术学院数 字 逻 辑 电 路主讲人,魏 达补充:补码公式应用
1
1
)1(1
0
1210
22)(
][
n
i
in
i
n
n
xxx
xxxxx
则若补
公式:
证:
021
200
2][
1
0
1
0
0
xx
xx
xxx
n
n
n
补反之亦然。
1
1
)1(1
0
0
1
2
1
1
0
0
0
1
2
1
1
0
01210
0
22
22)21(2
2222
2
2-][
n
i
in
i
n
n
nn
n
n
nn
n
n
n
xx
xxx
xxxx
xxxxx
xxx
补
122100
1210
.]
2
1
[
][
nn
n
xxxxxxx
xxxxx
补补则若
1
1
)1(1
0
1210
22)(
][
n
i
in
i
n
n
xxx
xxxxx
则因补
证:
应用 1:
1
1
)1(1
0 22
1
2)
2
1
(
2
1 n
i
in
i
n xxx
1
1
1])1[(2
0 22)(
n
i
in
i
n xx
1
1
1])1[(2
0
1
0
1
0
22)(
]22)[(
n
i
in
i
n
nn
xx
xx
1
1
1])1[(1)1(
0
1
0 222)(
n
i
in
i
nn xxx
1
0
1])1[(1
0 22)(
n
i
in
i
n xx
122100,]2
1[
nn xxxxxxx?补则表明:不论 x为正或负,
补]2
1[ x 总等于
[x]补的各位(含符号位)右移一位,
且符号位保持不变。
应用 2:
1][
][
0121
0121
xxxxx
xxxxx
nn
nn
补补则若
0201 11 nn xx 时,当、
01320][ xxxxx nn补
01321][ xxxxx nn 原证:
1][ 0121 xxxxx nn?补
01320][ xxxxx nn原
1022 11 nn xx 时,当、
01321][ xxxxx nn补
10][ 0132 xxxxx nn?原
11][ 0132 xxxxx nn?原
1][ 0121 xxxxx nn?补综合以上两种情况,得证。
例,[x]补 =10111011
[-x]补 =01000100+1=01000101
例 1:已知,- 2n-1< x <0,x为何值时等式
[x]补 =[x]原 成立。
解,1、以四位二进制为例四位数码 [x]原 [x]补
1000 0 -8
1001 -1 -7
1010 -2 -6
1011 -3 -5
1100 -4 -4
1101 -5 -3
1110 -6 -2
1111 -7
2、由于 - 2n-1< x <0
[x]补 =2n-1 - x
[x]原 =2n + x
为满足 [x]原 =[x]补有,2n-1 - x = 2n + x
则,2× x=2n-1 - 2n
x = - 2n-2
且当 - 2n-1< x <0时,一个 n只有一个 x使等式
[x]补 =[x]原 成立。
例 2:已知 x为二进制数,[x]补 =11x1x2x3x4x5
若 x <- 16,则 x1,x2,x3,x4,x5应满足什么条件?
解:
[-15]原 1001111
[-15]补 1110001
[-16]原 1010000
[-16]补 1110000
[ -17 ]原 1010001
[-17]补 1101111
[-18]原 1010010
[-18]补 1101110
……
[-32]补 1100000
所以,x1=0
例 3:已知 [x]补 > [y]补,是否有 x > y?
例 4:已知,- 2n-1< x <0,能否有 x,使等式
[x]补 =[x]反 成立?
1
1
)1(1
0
1210
22)(
][
n
i
in
i
n
n
xxx
xxxxx
则若补
公式:
证:
021
200
2][
1
0
1
0
0
xx
xx
xxx
n
n
n
补反之亦然。
1
1
)1(1
0
0
1
2
1
1
0
0
0
1
2
1
1
0
01210
0
22
22)21(2
2222
2
2-][
n
i
in
i
n
n
nn
n
n
nn
n
n
n
xx
xxx
xxxx
xxxxx
xxx
补
122100
1210
.]
2
1
[
][
nn
n
xxxxxxx
xxxxx
补补则若
1
1
)1(1
0
1210
22)(
][
n
i
in
i
n
n
xxx
xxxxx
则因补
证:
应用 1:
1
1
)1(1
0 22
1
2)
2
1
(
2
1 n
i
in
i
n xxx
1
1
1])1[(2
0 22)(
n
i
in
i
n xx
1
1
1])1[(2
0
1
0
1
0
22)(
]22)[(
n
i
in
i
n
nn
xx
xx
1
1
1])1[(1)1(
0
1
0 222)(
n
i
in
i
nn xxx
1
0
1])1[(1
0 22)(
n
i
in
i
n xx
122100,]2
1[
nn xxxxxxx?补则表明:不论 x为正或负,
补]2
1[ x 总等于
[x]补的各位(含符号位)右移一位,
且符号位保持不变。
应用 2:
1][
][
0121
0121
xxxxx
xxxxx
nn
nn
补补则若
0201 11 nn xx 时,当、
01320][ xxxxx nn补
01321][ xxxxx nn 原证:
1][ 0121 xxxxx nn?补
01320][ xxxxx nn原
1022 11 nn xx 时,当、
01321][ xxxxx nn补
10][ 0132 xxxxx nn?原
11][ 0132 xxxxx nn?原
1][ 0121 xxxxx nn?补综合以上两种情况,得证。
例,[x]补 =10111011
[-x]补 =01000100+1=01000101
例 1:已知,- 2n-1< x <0,x为何值时等式
[x]补 =[x]原 成立。
解,1、以四位二进制为例四位数码 [x]原 [x]补
1000 0 -8
1001 -1 -7
1010 -2 -6
1011 -3 -5
1100 -4 -4
1101 -5 -3
1110 -6 -2
1111 -7
2、由于 - 2n-1< x <0
[x]补 =2n-1 - x
[x]原 =2n + x
为满足 [x]原 =[x]补有,2n-1 - x = 2n + x
则,2× x=2n-1 - 2n
x = - 2n-2
且当 - 2n-1< x <0时,一个 n只有一个 x使等式
[x]补 =[x]原 成立。
例 2:已知 x为二进制数,[x]补 =11x1x2x3x4x5
若 x <- 16,则 x1,x2,x3,x4,x5应满足什么条件?
解:
[-15]原 1001111
[-15]补 1110001
[-16]原 1010000
[-16]补 1110000
[ -17 ]原 1010001
[-17]补 1101111
[-18]原 1010010
[-18]补 1101110
……
[-32]补 1100000
所以,x1=0
例 3:已知 [x]补 > [y]补,是否有 x > y?
例 4:已知,- 2n-1< x <0,能否有 x,使等式
[x]补 =[x]反 成立?