本章目标:
数据如何在计算机中表示?
运算器如何进行算术、逻辑运算?
1.进制转换
整数部分:除基取余法
小数部分:乘基取整法
2. BCD码(Binary-Coded Decimal)用二进制编码的十进制
1.8421码(有权码)
余3码(无权码)、2421码
小结
3.字符与字符串
1.ASCII码表示英文字符
7位二进制编码,通常最高位补0,凑足1B
所有的字符映射关系
32~126为可印刷字符(0,…,9,A,…,Z,a,…,z)
数字:0(48(0011 0000))~9(57(0011 1001))
大写字母:65(0100 0001)~90(01011010)
小写字母:97(01100001)~122(01111010)
其余为控制(127号delete对应键盘的按键Del)、通信字符(6号ACK对应计网领域的ACK相应)
2.中文字符表示
汉字编码方式:GB2312,UTF-8
采取二维映射的方式分区表示
防止信息交换时与控制、通信字符冲突,+20H得到国标码。
为了与ASCII码做区分,+80H得到汉字内码。
输入编码:(五笔输入、搜狗输入等)
输出是根据汉字字形码进行输出。
3.计算机中存储字符串
字符串存储汉字字符
大端模式:将数据的最高有效字节存储在低地址单元。
小端模式:将数据的最高有效字节存储在高地址单元。
大端模式:便于人类阅读
小端模式:便于机器处理
边界对齐方式(空间换时间)与不对齐方式(时间换空间)
小结
码字间的距离:两个码字之间有几个位不同。
码距:一个编码方案中,合法码字间的最小距离。
若码距=2,有检错能力(奇偶校验码);若码距≥3,可能还会纠错能力(海明码)。
4.奇偶校验
奇偶校验码的码距d=2,仅能检测出奇数位错误,无纠错能力
n个信息位前面补一个’1’或’0’,使得:
奇校验码:整个校验码(有效信息位和校验位)中“1"的个数为奇数。
偶校验码:整个校验码(有效信息位和校验位)中“1"的个数为偶数。
偶校验的硬件实现:各个位进行异或运算(结果为1则说明出错)
奇偶校验局限性:无法检测出偶数位错误
小结
5.海明码校验
信息位n位,校验位k位,满足关系:
n
+
k
+
1
<
=
2
k
n+k+1<=2^k
n+k+1<=2k
海明码求解步骤
做题中两种海明码的情况
H
7
.
.
.
H
1
H_{7}...H_{1}
H7...H1,
H
1
.
.
.
H
7
H_{1}...H_{7}
H1...H7
补充
海明码的检错、纠错能力:
纠错能力——1位
检错能力――2位