حاسبة رمز هامنغ
تُرمَّز كلمة البيانات 1011 إلى 0110011: توضع ثلاث بتات تكافؤ زوجي في المواضع 1 و2 و4، وتملأ بتاتك الأربع المواضع 3 و5 و6 و7. مفيد لتصحيح التمارين أو رسم مخطط التغطية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- البيانات
- 1011
- المشفّر
- 0110011
- P1
- 0
- P2
- 1
- P4
- 0
رمز Hamming(7,4) هو أول رمز ثنائي لتصحيح الخطأ الواحد ينفّذه معظم المهندسين والطلاب فعلًا: أربع بتات معلومات تصبح كلمة سبع بتات بعد إدراج ثلاث بتات تكافؤ زوجي في مواضع قوى الاثنين. تأخذ حاسبة رمز هامنغ هذه كلمة بيانات رباعية البت، وتضعها في المواضع ثلاثة وخمسة وستة وسبعة، وتحسب p1 و p2 و p4 من مجموعات التغطية في الكتاب، وتعيد الكلمة المرمّزة ذات السبع بتات مع كل بت تكافؤ.
كيف يضع Hamming(7,4) بتات البيانات ويحسب التكافؤ
يسقط مُرمّز Hamming(7,4) كلمة بيانات رباعية البت على كلمة رمز سباعية البت تتيح لاحقًا لمفكك الترميز تحديد أي بت مقلوب من متلازمة ثلاثية البت. تُرقَّم مواضع الكلمة المرسلة من واحد إلى سبعة. تحتل بتات التكافؤ قوى الاثنين: الموضع واحد هو p1، والاثنان p2، والأربعة p4.
تملأ بتات البيانات الأربع البقية بالترتيب، فيكون الموضع ثلاثة أول بت بيانات d1، والخامس d2، والسادس d3، والسابع d4. تستخدم هذه النقطة التكافؤ الزوجي، اتفاقية كل درس Hamming(7,4) من الكتاب. يُختار p1 بحيث تحتوي المواضع واحد وثلاثة وخمسة وسبعة عددًا زوجيًا من الآحاد، أي أن p1 يساوي d1 XOR d2 XOR d4.
يغطي p2 المواضع اثنين وثلاثة وستة وسبعة، فيساوي p2 القيمة d1 XOR d3 XOR d4. يغطي p4 المواضع أربعة وخمسة وستة وسبعة، فيساوي p4 القيمة d2 XOR d3 XOR d4. الكلمة المرمّزة هي التسلسل p1 ثم p2 ثم d1 ثم p4 ثم d2 ثم d3 ثم d4.
يعطي متجه القاعة 1011 إذن p1 صفرًا و p2 واحدًا و p4 صفرًا والسلسلة السباعية 0110011. تُرمَّز كلمة البيانات الصفرية إلى 0000000، وكلمة الآحاد 1111 إلى 1111111، وهما مرجعان مفيدان للاختبار. هذه القدرة ترمّز فقط؛ لا تفك كلمة سبع بتات مستلمة، ولا تحسب متلازمة، ولا تصحح خطأ.
عقد الإدخال وحقول الاستجابة وكلمات الأربع بتات غير الصالحة
قبل التحقق يزيل المعالج المسافات والشرطات السفلية والنقطتين والواصلات والفواصل، فتُقبل رباعية متباعدة مثل 1 0 1 1 بوصفها 1011. لا تُفوتر تلك الإخفاقات.
عند النجاح يعيد الجسم سلسلة البيانات الرباعية المعيارية، ويرجع encoded كلمة رمز Hamming السباعية، ويبلّغ بتات التكافؤ الثلاث p1 و p2 و p4 وبتات البيانات الموضوعة d1 إلى d4 كأعداد صحيحة صفر أو واحد، ويسرد positions مصفوفة من سبعة عناصر بترتيب الفهرس من الموضع واحد إلى سبعة، ويتضمن layout بوصفها الذاكرة p1 p2 d1 p4 d2 d3 d4 مع parity مضبوطًا على even حتى تعرض العملاء الاتفاقية دون تخمين. اقرنوا سلسلة encoded بمفكك ترميزكم إن احتجتم متلازمة؛ هذه النقطة لا تقلب البتات ولا تخبر أي موضع فشل.
أين يثبت مُرمّز Hamming(7,4) قيمته
تستخدم مقررات هندسة الحاسوب حاسبة رمز هامنغ ليراجع المتعلمون كلمة السبع بتات لأي واجب رباعي البت دون خلط مواضع التكافؤ. يثبت مؤلفو البرمجيات المضمنة والتخزين encoded مقابل متجه معروف مثل 1011 يقابل 0110011 في اختبارات الوحدة قبل توصيل كتلة SECDED أكبر أو تخطيط Hamming(15,11). تحتاج منصات المقابلات والامتحانات أوراكلًا حتميًا يرفض سلسلة ثلاث أو خمس بتات بدل الحشو الصامت، لأن الحشو سيعدّ إجابة طالب خاطئة صحيحة.
تكسب مواقع المحتوى التي تتنافس على رمز هامنغ و Hamming(7,4) ودجتًا حيًا يطابق مساره المجاني في المتصفح مسار الأتمتة على الوحدة النقية نفسها. لا يستهلك التحقق الفاشل الرصيد. أبقوا الطلبات صغيرة، وعاملوا encoded بوصفه النتيجة الأولية القابلة للنسخ، واستخدموا p1 و p2 و p4 عند رسم مخطط التغطية لشريحة محاضرة.
لا تحل هذه الأداة محل مكتبة ECC عامة: إنها مُرمّز Hamming(7,4) الذي يبحث عنه الطلاب والاختبارات فعلًا، لا منشئ هامنغ متغير الطول ولا مفكك ترميز.
حالات الاستخدام
تمارين قاعة Hamming(7,4)
دعوا الطلاب يرسلون كلمة بيانات رباعية البت ويقارنون encoded و p1 و p2 و p4 مع وضع التكافؤ الزوجي في الكتاب عند المواضع واحد واثنين وأربعة.
اختبارات وحدة ECC للبرمجيات المضمنة
ثبّتوا متجهات Hamming(7,4) مثل 1011 التي تُرمَّز إلى 0110011 في CI قبل توصيل كتلة Hamming أو SECDED أكبر في برمجيات الذاكرة.
أوراكل الامتحان والمقابلة
قيّموا بنود رمز هامنغ بمُرمّز حتمي يرفض أي سلسلة ليست أربعة أرقام ثنائية تمامًا بدل الحشو الصامت.
الأسئلة الشائعة
كيف ترمّزون أربع بتات برمز Hamming(7,4)؟
أرسلوا data سلسلة من أربعة أرقام ثنائية تمامًا، مثل 1011.
ماذا يحدث إن لم يكن الإدخال أربعة أرقام ثنائية تمامًا؟
تُرفض مقاطع الثلاث بتات وفيوض الخمس بتات والسلاسل الفارغة والأحرف غير الثنائية ولا تُفوتر.
أي اتفاقية تكافؤ يستخدمها رمز هامنغ هذا؟
التكافؤ الزوجي، اتفاقية Hamming(7,4) من الكتاب. يُختار p1 و p2 و p4 بحيث تحتوي كل مجموعة تغطية عددًا زوجيًا من الآحاد. حقل الاستجابة parity دائمًا even.
أين توضع بتات التكافؤ في كلمة السبع بتات؟
في مواضع قوى الاثنين: p1 في الموضع واحد، و p2 في الاثنين، و p4 في الأربعة. تحتل بتات البيانات المواضع ثلاثة وخمسة وستة وسبعة، لذا فإن layout هو p1 p2 d1 p4 d2 d3 d4.
كيف تُحسب كل بتة تكافؤ؟
تجعل كل بتة تكافؤ عدد الآحاد في مجموعتها من المواضع زوجيًا. تغطي p1 المواضع 1 و3 و5 و7، وتغطي p2 المواضع 2 و3 و6 و7، وتغطي p4 المواضع 4 و5 و6 و7.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/hamming-code \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data":"1011"}'const res = await fetch("https://api.kit.forhosting.com/enc/hamming-code", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data": "1011"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/hamming-code",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data": "1011"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/hamming-code", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data":"1011"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data":"1011"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/hamming-code", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"data": "1011"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.hamming_code",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
العقد صارم. بعد إزالة المسافات والشرطات السفلية والنقطتين والواصلات والفواصل الاختيارية، يجب أن يكون الإدخال أربعة أحرف تمامًا من مجموعة الصفر والواحد؛ أي طول آخر أو حرف غير ثنائي يفشل بـ invalid_input ولا يُفوتر. الوحدة parse النقية نفسها تشغّل ودجت المتصفح المجاني ومسار API، فلا تختلف مراجعات الواجبات واختبارات وحدة البرمجيات المضمنة وأوراكل المقابلات حول ما إذا كانت كلمة البيانات 1011 تُرمَّز إلى 0110011.
عقد الإدخال وحقول الاستجابة وكلمات الأربع بتات غير الصالحة
أرسلوا جسم JSON بطريقة POST بحقل إلزامي اسمه data: سلسلة من أربعة أرقام ثنائية تمامًا. تُقبل المفاتيح البديلة bits و word و text و value و input عند حذف data، وتُحَل بذلك الترتيب. بعد التنظيف يجب أن تكون البقايا أربعة رموز من مجموعة الصفر والواحد تمامًا؛ الحقل الغائب والسلسلة الفارغة ومقطع ثلاث بتات وفيض خمس بتات وأي حرف أو رقم غير الصفر والواحد تفشل كلها بـ invalid_input يسمي الحقل data. أبقوا الطلب صغيرًا: أربع بتات حمولة، حفنة عمليات XOR، بلا شبكة وبلا عشوائية، فتتطابق أمثلة المرجع بايتًا ببايت عبر أزمنة التشغيل.
أين يثبت مُرمّز Hamming(7,4) قيمته
ولأن التنفيذ parse نقي من المستوى A، تكلف كل مكالمة ناجحة السعر الأساسي المنشور $0.002 بلا رموز نموذج وبلا شبكة صادرة.
أسئلة تقنية
كم تكلفة حاسبة رمز هامنغ؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمقدار $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُفوتر.