غراي المنعكس يغير بتًا واحدًا بين عددين متجاورين؛ ليس تمثيلًا ثنائيًا عاديًا. [1]
الخلاصة السريعة
احتفظ بالبت الأيسر؛ ثم استخدم XOR لأزواج البتات المتجاورة في المدخل الثنائي الأصلي. [1]
- في XOR، المختلفان يعطيان 1 والمتساويان يعطيان 0. في هذا الدرس نثبت العرض عند خمسة بتات. [1]
- عند الترميز قارن بتات المدخل الأصلي، لا الناتج الجديد. [1]
- من 15 إلى 16 تتغير البتات الخمسة في 01111 → 10000، لكن واحدًا فقط في غراي 01000 → 11000.
- جدولنا للأعداد 14–18 يعطي غراي: 01001، 01000، 11000، 11001، 11011؛ كل انتقال إلى الصف التالي يغير بتًا واحدًا.
- الفك يستخدم البت الثنائي السابق مع بت غراي الحالي في XOR؛ مثالنا 11011 يعيد 10010، أي 18. [1]
- تغير بت واحد لا يكشف الخطأ وحده: تبديل البت الرابع في 11011 يعطي 11001، رمزًا صالحًا للعدد 17. لا تفسر 11011 مباشرة على أنه 27.
ماذا يعني بت واحد بين رمزين؟
قارن مواضع كلمتين متساويتَي الطول من اليسار إلى اليمين؛ درسنا لغراي الثنائي المنعكس. [1]
اخترنا خمسة بتات لنرى الحد بين 15 و 16. في الثنائي العادي نكتب 15 على صورة 01111 و 16 على صورة 10000؛ يتغير كل موضع، حتى البت الأول الذي كان صفرًا. الأصفار على اليسار جزء من عرض المثال، فلا تحذفها قبل مقارنة الخانات.
حوّل المدخل الأصلي دون تعديل بتاته
انسخ البت الأيسر؛ ثم احسب XOR لكل زوج متجاور في المدخل الأصلي: المختلف 1 والمتساوي 0. [1]
للمدخل 10010 نحصل بالتتابع على: البت الأول 1؛ ثم 1 XOR 0 = 1؛ ثم 0 XOR 0 = 0؛ ثم 0 XOR 1 = 1؛ ثم 1 XOR 0 = 1. إذن الرمز الناتج 11011. احتفظ بسطر المدخل واكتب الناتج تحته حتى لا تستبدل إحدى المقارنات ببت سبق أن أنتجته.
التسمية على كل سطر ضرورية. العدد الذي بدأنا به 18، أما الرمز 11011 فيمثل 18 وفق اتفاق غراي. إذا قرأناه بالوزن الثنائي المعتاد فسنحسب 16 + 8 + 2 + 1 = 27؛ هذه قراءة أخرى للسلسلة نفسها، وليست قيمة العدد الذي رمزناه.
افحص الحد بين 15 و16
تحويل 01111 يعطي 01000: أول بت 0، والزوج الأول المختلف يعطي 1، والأزواج الثلاثة التالية متساوية فتعطي 0. وتحويل 10000 يعطي 11000: أول بت 1، ثم 1 من الزوج المختلف، ثم ثلاثة أصفار. نقارن الآن 01000 و 11000 فنجد الاختلاف في الموضع الأول فقط.
في الصورة الرئيسية يلخص اللون الدافئ المواضع التي تغيرت بين السطرين، وتبقى الخانات الأخرى بلون هادئ. لاحظ أن هذا فحص لانتقال محدد بين عددين متجاورين. مقارنة عددين متباعدين تحتاج عد الاختلافات من جديد؛ فمثلًا رمزا 15 و 18 هما 01000 و 11011، ويختلفان في ثلاثة مواضع.
راجع عدة انتقالات متجاورة
أعدنا الحساب للخمس قيم التالية، بالعرض نفسه. اقرأ الجدول حسب عمود القيمة، لا بترتيب رموز غراي لو فُسرت كأعداد ثنائية. الأصفار البادئة محفوظة؛ وعد الاختلافات يكون بين صفين متجاورين، لا بين كل صف وأول صف.
| القيمة | الثنائي العادي | غراي المنعكس |
|---|---|---|
| 14 | 01110 | 01001 |
| 15 | 01111 | 01000 |
| 16 | 10000 | 11000 |
| 17 | 10001 | 11001 |
| 18 | 10010 | 11011 |
فك الرمز باستخدام البت الثنائي السابق
عند الفك انسخ البت الأيسر؛ ثم احسب XOR للبت الثنائي السابق وبت غراي الحالي. [1]
في 11011 ننسخ 1. الخطوات التالية: 1 XOR 1 = 0؛ ثم 0 XOR 0 = 0؛ ثم 0 XOR 1 = 1؛ ثم 1 XOR 1 = 0. نستعمل في كل خطوة النتيجة السابقة، فنحصل على 10010. قيمته 16 + 2 = 18، ويعيد التحويل إلى غراي 11011.
الفرق بين الاتجاهين يظهر هنا: الترميز يقارن زوجًا من المدخل الثنائي الأصلي، أما الفك فيستعمل البت الثنائي الذي انتهيت من فكه. بدل حفظ جدول طويل، سجل اسم السلسلة ونوع الخطوة ثم راجع الرجوع إلى نقطة البداية.

الانتقال المحدود لا يكفي لكشف الخطأ
نختبر ادعاء أقوى بمثال مضاد. الرمز 11011 للعدد 18؛ إذا قلبنا بته الرابع من اليسار فقط صار 11001. عند فك الرمز الجديد نحصل على 10001، أي 17. لم نحصل على رمز ممنوع، بل على رمز عدد آخر، لذلك لا تكشف صلاحية السلسلة وحدها هذا الخطأ.
اكتب في تقرير المقارنة أن انتقال 15 إلى 16 يغير بتًا واحدًا في غراي، ولا تحول تلك النتيجة إلى ضمان سلامة كل قراءة أو إلى وسيلة تشفير سري. درسنا حساب لرموز ثابتة، وليس اختبارًا لمشفر مادي أو لزمن انتقال إشارات جهاز فعلي.
اقرأ أيضًا: الجمع والطرح في النظام الثنائي: الحمل والاستلاف
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
