當數據傳輸被篡改1位或2位時,接收機能自動糾正它嗎?CRC是否具有以下功能
回答
不,CRC是一個錯誤檢測代碼,而不是一個錯誤糾正碼。
更多here
CRC主要用作一個檢錯碼。但是,如果總比特數(包括CRC中的比特數)小於CRC的週期,則可以通過計算綜合症(xor計算和接收的CRC)來校正單比特錯誤。如果單獨翻轉,每一位都會產生一個獨特的綜合徵。我們可以迭代CRC算法來查找與每個位相關的綜合徵;如果發現與每個位相關的綜合症,可以翻轉它並糾正一位錯誤。
但是,這樣做的一個主要危險是,CRC對於拒絕僞造數據將不太有用。如果對15個字節的數據包使用8位CRC,則256個隨機數據包中只有一個會通過有效性,但所有隨機數據包的一半可以通過翻轉一位來「糾正」。
爲此,CRC必須能夠檢測到所有1位和2位錯誤。 – philcolbourn 2014-04-05 04:57:01
@philcolbourn:如果一個CRC的週期爲N,那麼它將無法檢測到的任意長度輸入的唯一兩位錯誤將是那些錯誤數量爲N位數倍的錯誤。如果輸入流爲N位或更短,則會檢測到所有的兩位錯誤。 – supercat 2014-04-05 23:14:04
是的,這聽起來沒錯。我認爲N非常大 - 比16和32位CRC的大多數數據包或幀大小要大。但對於8位CRC來說,這可能是個問題 - 對嗎? – philcolbourn 2014-04-06 09:27:28
- 1. 是否有jQuery圖庫插件具有以下功能?
- 2. 現有功能的組合是否具有新功能?
- 3. Netezza是否具有ODBC DESCRIBE功能?
- 4. NumPy是否具有均勻性功能?
- 5. vim是否具有Notepad ++功能?
- 6. VBA是否具有ATan2功能?
- 7. ValueInjecter是否具有這些automapper功能?
- 8. Nifi是否具有循環功能?
- 9. 是否打印功能具有在python
- 10. blueprintjs是否具有步進功能?
- 11. LESS是否具有「擴展」功能?
- 12. Doxygen是否具有續行功能?
- 13. java是否具有鉗位功能?
- 14. DataSet是否具有Contain或In功能?
- 15. JSF1.2是否具有CSRF保護功能?
- 16. Eclipse是否具有「Syntax Aware Selection」功能?
- 17. Acumatica Report Designer是否具有此功能?
- 18. TextMate是否具有untabify功能?
- 19. Procmail是否具有小寫功能或類似功能?
- 20. 是否有vDSP功能來執行以下操作?
- 21. 是否有可能具有命名的角度配置功能?
- 22. 是否有可能直接啓動功能具有定時
- 23. 是否有可能具有jQuery功能的OR語句?
- 24. 是否有可能具有無狀態定時功能
- 25. 是否有免費的CRC庫,涵蓋了很多CRC算法?
- 26. 是否有類(功能,方法等或任何功能)像下面的功能?
- 27. 是否有建設功能?
- 28. 是否有MAKELONGLONG功能?
- 29. OCaml是否有popcnt功能?
- 30. Redis是否有decr功能
哪種CRC算法?多少位?這個問題真的很含糊。閱讀[維基百科鏈接](http://en.wikipedia.org/wiki/Cyclic_redundancy_check)瞭解更多信息。 – 2011-02-24 01:46:19
夥計有這個真棒網站,我認爲它叫「維基比達」或什麼的。 Idk的人,你應該檢查出來。 – rook 2011-02-24 02:47:37