第二章:数据的表示和运算
原码、反码、补码、移码
- 正数: 原码=反码=补码
- 负数
- 原码 → \rightarrow →反码:符号位不变,其余取反
- 原码 → \rightarrow →补码:符号位不变,其余取反, 末位加1
- 补码的补码就是原码
- 移码: 在补码的基础上将符号位取反(不区分正负)
进制表示
- 二进制B
- 十进制D
- 八进制O
- 十六进制H
BCD码
概念
每位十进制数用4位二进制表示
8421码
8421代表4个二进制位的权值分别为8、4、2、1
当两个8421码进行二进制求和得到结果超出了9,需要加6进行修正。
例1:
(
0101
5
)
8421
+
(
1000
8
)
8421
=
(
1101
)
2
13
⟶
+
0110
(
0001
1
0011
3
)
8421
(\underset{5}{0101})_{8421}+ (\underset{8}{1000})_{8421} = \underset{13}{(1101)_2} \overset{+0110}{\longrightarrow} (\underset{1}{0001} \ \underset{3}{0011})_{8421}
(50101)8421+(81000)8421=13(1101)2⟶+0110(10001 30011)8421
例2:
(
1001
9
)
8421
+
(
1001
9
)
8421
=
(
0001
0010
18
)
2
⟶
+
0110
(
0001
1
1000
8
)
8421
(\underset{9}{1001})_{8421}+ (\underset{9}{1001})_{8421} = ( \underset{18}{0001 \ 0010})_2 \overset{+0110}{\longrightarrow} (\underset{1}{0001} \ \underset{8}{1000})_{8421}
(91001)8421+(91001)8421=(180001 0010)2⟶+0110(10001 81000)8421
余3码
余3码没有固定的权值
余3码=8421码+3
2421码
2421代表4个二进制位的权值分别为2、4、2、1
为了避免歧义,0~4
的首位二进制为0
,5~9
的首位二进制为1
汉字编码
校验
原理
奇偶校验
奇偶校验码的码距d=2,仅能检测出奇数位错误,无纠错能力
海明码校验
循环冗余校验码
定点数
定义和性质
移位运算
加减法的溢出
- 采用一位符号位:两数符号相同,但结果与源操作数符号不同,则为溢出。
- 采用一位符号位的进位:符号位的进位与最高数位的进位不同,则为溢出。
- 采用两位符号位:运算结果的两个符号位不同,则为溢出,最高位符号表示真正符号。
乘法
除法
浮点数
概念
IEEE754标准
运算
常用公式
- 等差数列求和: S n = n × a 1 + a n 2 S_n = n \times \frac{a_1 + a_n}{2} Sn=n×2a1+an
- 等比数列求和: S n = a 1 × 1 − q n 1 − q S_n = a_1 \times \frac{1 - q^n}{1 - q} Sn=a1×1−q1−qn