名词辨析
真值、机器数
编码
BCD编码:
ASCII编码:
汉字编码:GB2312-1980(国家标准,简称国标码),GB18030-2000(最新的国家标准)。
汉字按照用途分为:
1)输入编码:输入时用,分为数字编码(区位码)、字音编码(搜狗拼音)、字形编码(五笔)、混合编码(郑码)四类。.
2)汉字内码:计算机内部硬件处理。
3)汉字字形码:输出设备显示使用。
汉字的编码
符合国家标准的汉字编码简称为国标码,国标码也是输入码,由2个字节组成,每个字节的最高位都是0。
国标码=(区位码)16+2020H
汉字内码=(国标码)16+8080H
字符串的表示
字符串(String):连续的一串字符(Character),占用内存中连续的多个字节,每个字节存放一个字符。
小端模式:先低字节、后高字节。
大端模式:先高字节,后低字节。
校验码
1)奇偶校验码:可以检测1bit奇数位的错误,但不能确定出错的位置和偶数位错误,常用于存储器的数据和数据传输的检查。
2)海明(汉明)校验码:可以检测2bits错误,纠正1bit错误,常用于移动通信中。
例:有效数据的位数n=4,校验位的位数k=3,求1010的海明码。
解:步骤一. 确定海明码位数
满足 n+k<=2k-1,即4+3<=23-1,故n=4,k=3有效。
设有效数据位:D4D3D2D1=1010
校验位(冗余):P3P2P1
海明码:H7H6H5H4H3H2H1
步骤二. 确定校验位的位置
Pi在H的2i-1位置上
故P1的位置21-1=1,即H1为P1
P2的位置22-1=2,即H2为P2
P3的位置23-1=4,即H4为P3
因此海明码H为D4D3D2P3D1P2P1
步骤三. 分组形成校验关系
原则:被校验数据位的海明位号等于校验该数据位的各位校验位的海明位号之和。
步骤四. 校验位取值
Pi=第i组所有位的异或
所以,1010对应的海明码为1010010
3)循环冗余校验码(CRC)
硬件的实现:
软件的实现:http://blog.csdn.net/yazhouren/article/details/50186497