二进制转为十进制
(
1010110
)
B
=
1
?
2
6
+
0
?
2
5
+
1
?
2
4
+
0
?
2
3
+
1
?
2
2
+
1
?
2
1
+
0
?
2
0
=
(
86
)
D
(1010110)_B = 1 * 2^6 + 0 * 2^5 + 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0 = (86)_D
(1010110)B?=1?26+0?25+1?24+0?23+1?22+1?21+0?20=(86)D?
十进制转为二进制
(
37
)
D
=
(
100101
)
B
(37)_D = (100101)_B
(37)D?=(100101)B?
(
0.706
)
D
=
(
0.101101001
)
B
(0.706)_D = (0.101101001)_B
(0.706)D?=(0.101101001)B?
要求误差不大于2^-10。
十进制的补码表示。
R表示基数,在二进制时,R=2,十进制时,R=10。
N表示原码。
n表示位数。
(
N
)
补
=
R
n
?
N
(N)_补 = R^n - N
(N)补?=Rn?N
?
N
=
(
N
)
补
?
R
n
-N = (N)_补 -R^n
?N=(N)补??Rn
以十进制为例,2的补码 = 10^1 - 2 = 8
以十进制为例,46的补码 = 10^2 - 46 = 54
8
?
2
=
8
+
(
2
)
补
?
10
=
8
+
8
?
10
=
6
8 - 2 = 8 + (2)_补 - 10 = 8 +8 - 10 = 6
8?2=8+(2)补??10=8+8?10=6
二进制的补码表示。
补码或者反码的最高位为符号位,正0,负1。
当二进制数为正数时,其补码,反码,原码相同。
当二进制数为负数时,对原码的数值位进行“取反加一”,得到补码。
A | B | L=A·B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | L=A+B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
A | L= A  ̄ \overline{\text{A}} A |
---|---|
0 | 1 |
1 | 0 |
A | B | L= A ? B  ̄ \overline{A·B} A?B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
A | B | L= A + B  ̄ \overline{A+B} A+B? |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
A | B | L= A  ̄ \overline{A} AB+A B  ̄ \overline{B} B=A⊕B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
A | B | L= AB+ A B  ̄ \overline{AB} AB=A⊙B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | L= AB+ A B  ̄ \overline{AB} AB=A⊙B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
L= AB+ A B  ̄ \overline{AB} AB=A⊙B