محول رمز غراي
يتحول العدد الثنائي 1011 إلى رمز غراي 1110، والتحويل العكسي دقيق بالقدر نفسه، مع الحفاظ على الأصفار البادئة كي يبقى عرض العدد ثابتًا. مفيد لجداول المشفرات وخرائط كارنو وتمارين المنطق الرقمي. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- قيمة الإدخال
- 1011
- اتجاه التحويل: binary_to_gray
- Binary to gray
- بتات الدخول
- 1011
- بتات الخروج
- 1110
- عدد صحيح داخلي
- 11
- عدد صحيح خارجي
- 14
يرقّم رمز غراي المنعكس الثنائي الأعداد الصحيحة المتتالية بحيث تختلف الرموز المتعاقبة في بت واحد بالضبط. تهمّ هذه الخاصية في المشفرات الدورانية، وخرائط كارنو، وآلات الحالة المتسامحة مع الأخطاء، وعروض الاتصالات الرقمية، وتمارين الصف حيث يجب على الطلاب تعيين كلمة ثنائية إلى صيغة غراي أو استعادة الثنائي من غراي. يقبل محول رمز غراي هذا سلسلة بتات ثنائية أو عددًا صحيحًا غير سالب، واتجاه تحويل، ويعيد سلسلة بتات حتمية وحقولًا منظمة يمكنكم تثبيتها في الاختبارات الآلية.
ما رمز غراي المنعكس وما المدخلات الصالحة
الثنائي القياسي هو التمثيل العادي بالأساس اثنين لعدد صحيح غير سالب، بقيم مواضع هي قوى الاثنين. رمز غراي المنعكس الثنائي هو ترقيم مختلف لنفس الأعداد الصحيحة: ما زال يستخدم بتات من صفر وواحد، لكن القيم المتتالية تقلب بتًا واحدًا فقط. الترميز الكلاسيكي من الثنائي B إلى غراي G هو القاعدة البتية G يساوي B XOR B مزاحًا يمينًا ببت واحد؛ ويفكّك الترميز بتراكم XOR من البت الأكثر أهمية نحو الأقل أهمية بحيث يكون كل بت ثنائي هو زوجية بادئة غراي.
أرسلوا الحقل الإلزامي value كسلسلة بتات نقية من أصفار وآحاد، مع بادئة 0b اختيارية، أو كعدد صحيح غير سالب أو سلسلة أرقام صحيحة عند تفضيل المقدار العشري. تُحفظ الأصفار البادئة في سلسلة بتات نقية كي تحافظ الواجبات وأمثلة العتاد على عرض ثابت.
طريقة الاستخدام وسير الدرس والحدود العملية
استدعوا محول رمز غراي المجاني في المتصفح لفحص الواجبات وعروض المحاضرة ومختبرات المشفرات الدورانية والتحقق السريع دون كتابة سكربت مؤقت. اقرنوا هذه النقطة بمنسّقات ثنائية أو ست عشرية عندما تمرّ الدرس بعدة ترميزات، أو بأدوات جداول الحقيقة وخرائط كارنو عندما يربط الطلاب تجاور غراي بانتقالات بت واحد. فضّلوا عروضًا بمقياس الصف للأوراكل المقيَّمة، واحفظوا طول البتات ضمن السقف المنشور لسلامة العزل.
تتبع مدخلات المصدر نفس قواعد الاحتفاظ لعناصر parse الأخرى في KIT، والنتائج آمنة للتثبيت في تثبيتات التكامل المستمر لأن الخوارزمية حتمية بالكامل.
حالات الاستخدام
ملاحظات المشفرات والأدوات المدمجة
يولد المطورون الذين يوثّقون المشفرات الدورانية أو آلات الحالة أو رموز موضع المستشعرات سلاسل بتات غراي مستقرة من قيم ثنائية مصدر دون حساب جداول XOR يدويًا.
الأسئلة الشائعة
ماذا يحدث إذا أدخلت قيمة غير ثنائية؟
يجب أن تستخدم سلاسل البتات الرقمين 0 و1 فقط (بادئة 0b اختيارية)؛ تُرفض الكسور والنص المختلط والقمامة ولا تُحاسب.
أي متغير من رمز غراي تنفّذه هذه الأداة؟
رمز غراي المنعكس الثنائي فقط: يرمّز بـ XOR للقيمة وإزاحتها يمينًا ببت واحد؛ ويفكّك بـ XOR تراكمي من البت الأكثر أهمية. عائلات غراي الأخرى خارج النطاق.
كيف أحوّل العدد الثنائي إلى رمز غراي يدويًا؟
أزِح العدد الثنائي خانة واحدة إلى اليمين، ثم ادمجه مع الأصل بتًا بتًا بعملية «أو» الحصرية. من الثنائي 1011 تحصل على رمز غراي 1110، وهي النتيجة نفسها التي تعطيها الأداة.
كيف أعيد رمز غراي إلى العدد الثنائي؟
ابدأ من البت الأيسر: كل بت ثنائي هو ناتج «أو» الحصرية لجميع بتات غراي حتى ذلك الموضع. اختر اتجاه التحويل من غراي إلى ثنائي، وستقوم الأداة بذلك مع الحفاظ على عدد البتات.
هل تُحفظ الأصفار البادئة في النتيجة؟
نعم. إذا أدخلت سلسلة بتات تبدأ بأصفار فإنها تبقى في النتيجة، كي يحافظ تمرينك أو مخططك الإلكتروني على عرض ثابت من البداية إلى النهاية.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fmt/gray-code \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"1011","direction":"binary_to_gray"}'const res = await fetch("https://api.kit.forhosting.com/fmt/gray-code", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "1011",
"direction": "binary_to_gray"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/gray-code",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "1011",
"direction": "binary_to_gray"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/gray-code", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"1011","direction":"binary_to_gray"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"1011","direction":"binary_to_gray"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/gray-code", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"value": "1011",
"direction": "binary_to_gray"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.gray_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 واضح بدل اقتطاع الأرقام التالفة بصمت.
ما رمز غراي المنعكس وما المدخلات الصالحة
تُقبل الأسماء البديلة bits وbinary وn عندما يسمّي نموذجكم أو SDK الحقل كذلك. يجب أن يكون الاتجاه binary_to_gray أو to_gray للترميز، وgray_to_binary أو from_gray لفك الترميز؛ وتعمل الأسماء البديلة dir وmode بالمثل. تفشل القيم ذات الفاصلة العائمة والأعداد السالبة والسلاسل الفارغة والنص المختلط الذي ليس أرقامًا ثنائية بـ invalid_input لأن هذا المنتج يعد بتحويل صحيح تام للأعداد الصحيحة لا تقريب. المدخلات المتطابقة تنتج دائمًا JSON متطابقًا: لا استدعاء شبكة ولا بذرة عشوائية ولا ساعة جدارية على المسار.
قراءة حقول الاستجابة والتحقق اليدوي من نتائج شائعة
تبني الفحوصات السريعة الثقة: الثنائي واحد صفر واحد واحد يُرمَّز إلى غراي واحد واحد واحد صفر؛ وغراي صفر واحد واحد واحد يُفَكّ إلى ثنائي صفر واحد صفر واحد؛ والثنائي صفر يقابل غراي صفر؛ وثنائي بثلاث بتات واحد صفر صفر يصبح غراي واحد واحد صفر. ولأن كل خطوة هي XOR على بتات منفصلة، لا تنجرف النتائج كما تفعل حيل الفاصلة العائمة مع المدخلات الكبيرة. عند النجاح تعيد الاستجابة value كسلسلة البتات الأصلية أو العدد الصحيح الآمن الذي أرسلتموه، وdirection كتسمية قانونية binary_to_gray أو gray_to_binary، وbits_in كسلسلة الإدخال المعيارية الأكثر أهمية أولاً، وbits_out كالسلسلة المحوّلة التي تريدونها عادة للعرض والمقيّمين ووثائق المشفرات. يفسّر integer_in وinteger_out تلك السلاسل كأعداد صحيحة غير سالبة عندما يتسع المقدار لرقم JSON آمن، أو كسلاسل أرقام عشرية عندما يكون أكبر، حتى تثبت المسارات أي الشكلين. يبلّغ bit_width عن طول bits_in، وmethod دائمًا reflected_gray حتى يتفرع الكود اللاحق دون استشعار الأشكال. غياب value أو direction والسلاسل غير الثنائية وتسميات الاتجاه غير المدعومة وعروض البتات المفرطة تفشل كلها بـ invalid_input ولا تُحاسب بعد رفض التحقق. استخدموا bits_out وحده عندما يحتاج شخص أو تقرير سطرًا واحدًا؛ واستخدموا الكائن كاملًا عندما يجب على المدققين الآليين إثبات الاتجاه والعرض والمنهج إلى جانب سلسلة الأرقام.
استخدام API والتسعير وسير الصف والحدود العملية
أرسلوا جسم JSON بالحقلين الإلزاميين value وdirection، أو استخدموا الأسماء البديلة الموثقة عندما يسمّي عميلكم الحقول بأسماء مختلفة. استخدموا API المدفوعة مسبقًا عندما تحتاج منصة دروس أو بيئة تقييم برمجي أو سلسلة أدوات برمجيات ثابتة أو مولّد وثائق عقدًا مستقرًا تحت رصيد KIT بمبلغ $0.002 لكل عنصر ناجح؛ إخفاقات التحقق لا تستهلك الرصيد أبدًا. يمكن لمن ينشرون SDK ربط bits_out مباشرة بتسميات واجهة أو أعلام سطر أوامر أو تعليقات مولَّدة تُظهر صيغة غراي بجانب الثابت الثنائي الأصلي.
حالات التكامل
التحقق من الواجبات والامتحانات
يحوّل الطلاب كلمات ثنائية إلى رمز غراي المنعكس وبالعكس، ويقارنون سلاسل البتات، ويتلقون خطأ invalid_input واضحًا عند إرسال قيمة غير ثنائية بالخطأ.
منصات الدروس والمقيّمون الآليون
يستدعي بناة الدروس وبيئات البرمجة عقد JSON مدفوعًا مسبقًا لفحص إجابات ثنائي↔غراي على نطاق واسع دون إعادة تنفيذ منطق غراي المنعكس في كل مكدس.
أسئلة تقنية
كيف أحوّل الثنائي إلى رمز غراي بهذه الأداة؟
أرسلوا JSON مع value يساوي سلسلة بتات أو عددًا صحيحًا غير سالب (مثل value: "1011") وdirection: "binary_to_gray". الحقل bits_out هو سلسلة رمز غراي المنعكس.
كيف أحوّل رمز غراي إلى ثنائي؟
استخدموا direction "gray_to_binary" (أو from_gray) مع سلسلة بتات غراي في value. bits_out في الاستجابة هو سلسلة الثنائي القياسي المستعادة.
هل محول رمز غراي مجاني؟
تعمل أداة المتصفح مجانًا على جهازكم. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل عنصر ناجح؛ إخفاقات التحقق لا تُحاسب.