سؤال

لدي وضع افتراضي لإرسال وحدات البيانات، كل ألف بايت. معدل الفشل نادر ولكن عندما يحدث خطأ، فمن الأفضل أن يكون هناك خطأ بت بعض الشيء وأكثر احتمالا أن يكون خطأ في بعض البتات على التوالي.

في البداية فكرت في استخدام المجموع الاختباري، ولكن يبدو أنه يمكن أن يفوت أخطاء البت أكبر من بت واحد. لن يعمل فحص التكافؤ إما، فقد يكون CRC هو الخيار الأفضل.

يستخدم تسجيل التكرار الدوري على ألف بايت كفاءة؟ أم أن هناك طرق أخرى من شأنها أن تعمل بشكل أفضل؟

هل كانت مفيدة؟

المحلول

الشيكات التكرار الدورية (CRCs) تحظى بشعبية خاصة بسبب كفاءتها عند اكتشاف أخطاء بت متعددة مع دقة مضمونة.

هناك تصاميم مختلفة لتوليد متعدد الحدود CRC حيث تكون المفاضلة هي الدقة مقابل التعقيد الحسابي. في حالتك، يمكنك اختيار "الأسرع" التي تلبي متطلباتك للتأكد من دقتها.

قد ترغب في البدء في مقالة ويكيبيديا هذه على فحص دوري التكرار.

نصائح أخرى

يتم تغطية اتفاقية حقوق الطفل في سؤال آخر هنا
متى يكون CRC أكثر ملاءمة للاستخدام من MD5 / SHA1؟
إنها مناسبة للكشف عن أخطاء عشوائية وسهلة التنفيذ.

من الطبيعي استخدام اتفاقية حقوق الطفل. لست متأكدا مما تعنيه ب "الكفاءة"، لكنني أعتقد أنه في بعض الأحيان يتم تنفيذ اتفاقية حقوق الطفل في الأجهزة (على سبيل المثال على بطاقة Ethernet). وإلا فقد تجد تطبيقات "الأمثل" (باستخدام جدول بحث).

ما حجم قطاعات القرص الخاصة بك؟ ربما لا يقل عن 512 بايت. و CRC هو مخطط تكريم الوقت لدائرة ECC على مستوى الأجهزة.

خوارزميات متعددة الحدود CRC هي فعالة جدا للأعداد الصغيرة من أخطاء بعض الأخطاء. الدقة الدقيقة محسوبة رياضيا. تقوم CRC أيضا بكفاءة عالية في الأجهزة حيث يمكن لعدد صغير نسبيا من البوابات وسجلات التحول إدارة المهمة على الطاير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top