2.理论
本题考查的是校验码,实际在工作中可能是遇到时,上网搜一下算法实现就是了,知道有校验码这种技术就行。
不过毕竟是考试,要求不光知道校验码,还需要知道具体有哪些校验码及相应的概况。
考试涉及的校验码有三种:奇偶校验、海明码、循环冗余校验码(CRC),这几种其实工作中也经常遇到,只不过我也是是在记不住具体实现细节。正好来了解下:
2.1 奇偶校验
编码中增加1位校验位,使编码中1的个数为奇数即为奇校验,使编码中1的个数为偶数即为偶校验,所以校验位就1位。
2.2 海明码
在数据位之间插入k个校验码,如果数据位为n,则要满足2^k>=n+k
2.3 循环冗余校验码CRC
CRC校验码由信息码和校验码组成,校验码位数=CRC的字长n-信息码位数k。
3.解析
直接套用公式2^k>=n+k,其中n=16,则k=3/4时不符合,k=5时符合,所以答案为C。