ForHosting KIT · أدوات المطورين

بت التكافؤ الفردي

للسلسلة 1010 التي فيها واحدان يكون بت التكافؤ الفردي 1، فتصبح 10101 وفيها ثلاثة آحاد. الصق سلسلة من الأصفار والآحاد لتحصل على البت الذي يجعل مجموع الآحاد فرديًا، كما يتوقع منفذ تسلسلي مضبوط على التكافؤ الفردي. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
1010
تحصل على
الطول
4
الآحاد
2
الأصفار
2
التكافؤ الفردي
1

ما تزال الوصلات التسلسلية ووحدات الذاكرة ورموز كشف الخطأ البسيطة تستخدم بت تكافؤ فردي واحدًا حتى يكون مجموع الآحاد في الكلمة فرديًا. تقبل حاسبة التكافؤ الفردي هذه سلسلة ثنائية من الأصفار والآحاد، وتعدّ الآحاد، وتعيد 0 عندما يكون ذلك العدّ فرديًا أصلًا أو 1 عندما يكون العدّ زوجيًا — البت الذي تلحقونه أو تتحققون منه حتى تصير الكلمة المجمّعة ذات تكافؤ فردي. استخدموها لسكّ إطارات UART، أو للتحقق من كلمات تكافؤ على أسلوب RAID، أو لتصحيح واجبات التصميم الرقمي دون جدول أشجار XOR.

معنى التكافؤ الفردي وكيف يُختار البت الإضافي

التكافؤ الفردي قاعدة تقضي بأن كلمة بيانات زائد بت إضافي واحد يجب أن تحوي عددًا فرديًا من البتات ذات القيمة 1. لا يصحّح ذلك البت الواحد الأخطاء، لكنه يكشف أي عدد فردي من قلب البتات: قلب بت واحد يغيّر عدّ الآحاد من فردي إلى زوجي، وفاحص يعيد حساب التكافؤ الفردي سيرفض الإطار. التكافؤ الزوجي هو الاصطلاح المكمّل حيث يكون مجموع الآحاد زوجيًا؛ تنفّذ هذه الأداة الاصطلاح الفردي فقط، وهو ما تعتمده معايير تسلسلية مثل RS-232 وUART غالبًا عندما يطلب المضيف تكافؤًا فرديًا وثمانية بتات بيانات وبت توقف واحد.

تنطلق أنظمة الذاكرة الفرعية وأقراص التكافؤ على أسلوب RAID-4 ورموز Hamming في الكتب من فكرة XOR للبتات ذاتها: بت التكافؤ هو XOR لكل بتات البيانات ثم يُعكس للتكافؤ الفردي، أو على نحو مكافئ واحد ناقص عدّ السكان مقياس اثنين. لأن XOR تجميعي وتبديلي يمكنكم طي البتات بأي ترتيب والحصول على 0 أو 1 نفسه. تجري هذه الحاسبة ذلك الطي على سلسلة ثنائية لديكم أصلًا، بلا رزم بايتات وبلا افتراض تجميع بسبعة أو ثمانية بتات وبلا إسقاط المسافات في صمت.

تجميع إطارات UART والتسلسل

ابنوا كلمة بيانات من 8 بتات، احسبوا بت التكافؤ الفردي وألحقوه قبل إرسال إطار يقبله UART مضبوط على التكافؤ الفردي.

ما بت التكافؤ الفردي؟

هو بت إضافي واحد يُختار حتى تحتوي بتات البيانات زائد ذلك البت على عدد فردي من الآحاد. إن كان عدّ آحاد البيانات فرديًا أصلًا فالبِت 0؛ وإن كان العدّ زوجيًا فالبِت 1.

كيف تختار هذه الحاسبة 0 أو 1؟

تعدّ بتات الـ 1 (أو على نحو مكافئ تجري XOR لكل بت). عندما يكون ذلك العدّ زوجيًا تعيد 1؛ وعندما يكون فرديًا أصلًا تعيد 0.

ماذا يحدث إذا احتوى الإدخال محارف غير 0 و1؟

لا تُحذف المسافات والحروف وعلامات الترقيم والسلاسل الفارغة ولا تُتجاهل، ولا تُحاسب عملية التحقق الفاشلة.

هل يكشف التكافؤ الفردي كل خطأ نقل؟

لا. مخطط تكافؤ ببت واحد يكشف أي عدد فردي من البتات المقلوبة ويُفلت أي عدد زوجي من القلبات. لا يصحّح الأخطاء وليس مجموع تحقق تشفيريًا.

هل يمكنني حساب التكافؤ الزوجي هنا أيضًا؟

لا، فهذه الأداة تطبق قاعدة التكافؤ الفردي وحدها. في التكافؤ الزوجي يجب أن يكون مجموع الآحاد زوجيًا، لذا يكون البت دائمًا عكس القيمة المحسوبة هنا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/enc/odd-parity

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/enc/odd-parity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"1010"}'
{
  "text": "1010"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.odd_parity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_chars100000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

تُرفض المحارف غير 0 و1 بـ invalid_input بدل حذفها في صمت، حتى لا تتحول حرف مطبوع خطأ إلى مجموع تحقق زائف. يعمل منطق التحليل الحتمي نفسه مجانًا في المتصفح وبسعر API المنشور $0.002، بلا شبكة وبلا ساعة وبلا حمولة مخزّنة.

معنى التكافؤ الفردي وكيف يُختار البت الإضافي

إن كان للحمولة عدّ فردي من الآحاد أصلًا فالبِت الإضافي 0؛ وإن كان العدّ زوجيًا، بما في ذلك صفر آحاد، فالبِت الإضافي 1.

عقد الإدخال وشكل الاستجابة وسلوك الأخطاء

يُقبل أيضًا عدد صحيح غير سالب يتحول إلى سلسلة أرقام ثنائية، مما يساعد العملاء العدديين الذين يرسلون 1010 بلا علامات اقتباس. تُرفض السلسلة الفارغة للسبب نفسه: لا يوجد بت بيانات لحمايته. يُحدّ الطول بالحد الأقصى المعلن حتى لا يوقف لصق جامح العزل. لا تُحاسب عملية التحقق الفاشلة. أرسلوا جسم JSON بالحقل الإلزامي text مضبوطًا على سلسلة غير فارغة محارفها 0 و1 فقط. تُقبل الأسماء البديلة input وvalue وbinary وdata وbits وتُحلّ بذلك الترتيب. المسافات وعلامات الجدولة وأحرف السطر الجديد والشرطات السفلية والحروف وعلامات الترقيم وإشارات الناقص وأي محرف آخر تفشل بـ invalid_input مع تسمية الحقل، لأن حذف الفواصل في صمت يخفي حمولة فاسدة. عند النجاح يعيد الجسم text ويبلّغ length وones وzeros ويعيد odd_parity رقمًا 0 أو 1. with_parity هي السلسلة الأصلية مع إلحاق ذلك البت، وtotal_ones هو ones زائد بت التكافؤ، وهو فردي دائمًا. scheme هو الرمز odd دائمًا حتى تسجّل السجلات اللاحقة أي اصطلاح طُبّق. مثال: 1010 فيه آحادان وهذا زوجي، لذا odd_parity يساوي 1 وwith_parity هي 10101 بثلاثة آحاد. مثال: 111 فيه ثلاثة آحاد وهي فردية أصلًا، لذا odd_parity يساوي 0 وwith_parity هي 1110. لأن المسار تحليل parse خالص بلا ساعة ولا مصدر عشوائي ولا شبكة، لا يختلف الوِدجت المجاني واستدعاء مدفوع مسبقًا بسعر $0.002 في بت واحد.

أين يثبت بت التكافؤ الفردي نفعه في الأنظمة الحقيقية

ما تزال محوّلات UART وRS-232 تعرض إعداد تكافؤ؛ يمكن للبرمجية الثابتة التي تبني كلمة بيانات بثمانية بتات زائد بت تكافؤ فردي أن تستدعي هذه النقطة بدل الإبقاء على مساعد XOR محلي في كل لغة من المكدس. مهام جودة البيانات التي تستقبل مقالب ثنائية كنص يمكنها رفض الصفوف التي ليست محارفها 0 و1 قبل أن يفترض محلّل لاحق بتات ASCII. تطلب مقررات التصميم الرقمي من الطلبة حساب بت التكافؤ الفردي لمتجه يدويًا؛ يمكن لنظام LMS أن يرسل المتجه نفسه بـ POST ويصحّح الـ 0 أو 1 المقدَّم أمام وحي حتمي لا يخترع بتًا عندما تحتوي السلسلة حرفًا. مختبرات التخزين وRAID التي تعرض قرص تكافؤ يمكنها إعادة حساب التكافؤ الفردي على سلسلة بتات معاد بناؤها بعد قلب محاكى وإظهار أن total_ones لم يعد فرديًا. في كل سير عمل العقد واحد: بتات فقط، خرج 0 أو 1 واحد، JSON منظَّم يمكنكم تثبيته في الاختبارات، سلوك متطابق مجانًا في المتصفح أو عبر رصيد مدفوع مسبقًا، وفشل صريح عندما لا يكون الإدخال ثنائيًا. لا تعاملوا بت تكافؤ فردي مطابقًا دليلًا على أن الحمولة أصيلة أو غير معدَّلة بعدد زوجي من القلبات — فهو يثبت فقط أن عدّ الآحاد فردي وفق هذا المخطط، وهو معيار الصراحة نفسه الذي تطبقونه على أي مجموع تحقق ببت واحد.

واجبات التصميم الرقمي وتصحيح LMS

دعوا الطلبة يرسلون متجهًا ثنائيًا وبت تكافؤ مخمَّنًا؛ قارنوه بـ odd_parity من هذا الوحي بدل جدول هش لأشجار XOR.

اختبارات وحدة لفاحص التكافؤ

اسكّوا with_parity لمتجهات معروفة، اقلبوا بتًا واحدًا واجزموا بأن فاحص عتاد أو برمجيات يبلّغ الآن عن خطأ تكافؤ.

كم تكلفة حاسبة بت التكافؤ الفردي؟

أداة المتصفح مجانية وتعمل محليًا. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل استدعاء ناجح؛ ولا يُحاسب الإدخال غير الصالح.

اطّلع على توثيق KIT الكامل ←