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。