حاسبة مخارج فاك الترميز الثنائي ونطاق العناوين
يحوّل فاك الترميز الثنائي رمز دخل من n بتات إلى اختيار نشط واحد من بين عدة خطوط خرج.
شغّل الأداة مجانًا
تطبّق هذه الحاسبة العلاقة الأساسية m = 2^n، ثم تربط الاختيارات الفريدة بنطاق شامل من عناوين النظام. أدخلوا عدد خطوط الدخل أو العنوان، وعند الحاجة أول عنوان مخصّص للجهاز. تعرض النتيجة تسمية فاك الترميز وعدد المخارج وعدد العناوين الفريدة وحدّي النطاق بالنظامين العشري والسداسي عشري، لتفيدكم في تمارين المنطق وتخطيط عناوين الذاكرة والأجهزة الطرفية.
من خطوط الدخل إلى مخارج فاك الترميز
يمكن لدخل ثنائي من n خطوط أن يمثّل 2^n أنماط بتات مختلفة، لأن لكل خط حالتين مستقلتين. يخصّص فاك الترميز مخرجاً لكل نمط، ولذلك يحتاج فاك الترميز الكامل المثالي إلى m = 2^n من المخارج. فثلاثة خطوط، على سبيل المثال، تمثّل القيم من 000 إلى 111 وتتحكم في ثمانية مخارج قابلة للاختيار، ويسمى ذلك فاك ترميز 3 إلى 8. أما أربعة خطوط فتنتج ستة عشر نمطاً وفاك ترميز 4 إلى 16. أدخلوا العدد في input_lines. تعيد الحاسبة output_lines وunique_addresses بالقيمة نفسها، وتعرض التسمية الاصطلاحية أيضاً. يفترض الحساب فاك ترميز ثنائياً كاملاً، لا جهازاً جزئياً يحذف بعض التركيبات عمداً. لا تزيد أطراف التمكين عادة عدد التركيبات المفكوكة؛ فهي تحدد مشاركة الجهاز، بينما تحدد مداخل الاختيار وعددها n أي مخرج من مخارج 2^n سيُختار.
قراءة نطاق العناوين المحدد بصورة فريدة
في نظام فك العناوين، يستطيع كل مخرج اختيار مسجل أو موقع ذاكرة أو جهاز طرفي أو كتلة فرعية. لذلك يستطيع فاك ترميز من n مداخل اختيار 2^n عنواناً متتالياً بصورة فريدة عندما تقابل مخارجه تركيبات بتات العنوان الدنيا. يحدد base_address أول موقع مخصّص للكتلة. ويكون الموقع الأخير base_address + 2^n - 1 لأن الحدين مشمولان. ففاك ترميز من أربعة خطوط يبدأ من العنوان العشري 4096 يغطي ستة عشر عنواناً: من 4096 إلى 4111، أو من 0x1000 إلى 0x100F. تصف النتيجة النطاق صراحة بأنه شامل، وتعرض الحدين عشرياً وسداسي عشرياً لتقليل أخطاء الفرق بمقدار واحد. إذا لم تُدخل قاعدة، تُستخدم قيمة الصفر ويصبح النطاق القياسي من 0 إلى 2^n - 1. يجب على العتاد الحقيقي أيضاً فك بتات العنوان العليا اللازمة لتثبيت القاعدة المختارة ومنع العناوين المنعكسة.
تطبيق النتيجة على العتاد الحقيقي
استخدموا عدد المخارج عند اختيار دارة متكاملة لفك الترميز أو رسم جداول الحقيقة أو تحديد عدد إشارات اختيار الشريحة التي توفرها مجموعة من خطوط العنوان. واستخدموا نطاق العناوين عند توثيق خريطة ذاكرة أو التحقق من عدم تداخل التخصيصات المتجاورة. ينبغي أن يطابق عنوان القاعدة موضع الكتلة في النظام، وغالباً ما تفيد محاذاته مع حجم الكتلة لأنها تُبقي البتات العليا ثابتة في كامل النطاق. تقبل الحاسبة أي قاعدة غير سالبة، ولذلك يمكنها تمثيل التمارين والتوزيعات غير المعتادة أيضاً. وهي تقبل من خط واحد إلى اثنين وخمسين خطاً، وتُبقي كل نتيجة ضمن مجال الأعداد الصحيحة الدقيقة في JavaScript. يُرفض الطلب إذا تجاوز العنوان النهائي ذلك المجال. لا يصف الحساب القطبية الكهربائية أو تأخير الانتشار أو fan-out أو سلوك التمكين أو كون المخارج فعالة عند المستوى المرتفع أو المنخفض؛ راجعوا ورقة بيانات المكوّن. كما أنه لا يحجز حيزاً في نظام حقيقي. تبلغ كلفة الاستخدام الآلي للـAPI $0.002 لكل طلب.
حالات الاستخدام
اختيار حجم فاك الترميز
حوّلوا عدد خطوط الاختيار المتاحة إلى العدد الدقيق من مخارج one-hot اللازمة لتصميمكم المنطقي.
إعداد خريطة للأجهزة الطرفية
احسبوا الحدين الشاملين عشرياً وسداسي عشرياً لكتلة طرفية موضوعة عند عنوان قاعدة محدد.
مراجعة تمارين المنطق الرقمي
تحققوا من تسمية فاك الترميز n إلى m وعدد المخارج والنطاق المقابل دون خطأ بمقدار واحد.
الأسئلة الشائعة
كم مخرجاً يملك فاك ترميز من n خطوط؟
يملك فاك الترميز الثنائي الكامل 2^n من المخارج، مخرجاً واحداً لكل تركيبة ممكنة من بتات الدخل وعددها n.
لماذا يساوي العنوان النهائي القاعدة زائد 2^n ناقص واحد؟
لأن النطاق شامل. يشغل العنوان الأول بالفعل موضعاً من مواضع 2^n، ولذلك تكون الإزاحة النهائية 2^n - 1.
هل تُحسب مداخل التمكين ضمن خطوط دخل فاك الترميز؟
لا. استخدموا مداخل الاختيار أو العنوان الثنائية المستقلة لحساب n. تتحكم أطراف التمكين في عمل فك الترميز، لكنها لا تضيف اختيارات عادية.
هل يمكن إدخال عنوان قاعدة سداسي عشري؟
يقبل عقد الإدخال عدداً صحيحاً عشرياً غير سالب. وتعرض النتيجة كلا الحدين بصيغتين عشرية وسداسية عشرية.
ما كلفة طلب API؟
تبلغ كلفة كل طلب API $0.002. الحساب حتمي، ويمكنكم تشغيله مجاناً في المتصفح أيضاً.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/elec/decoder-outputs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input_lines":4}'const res = await fetch("https://api.kit.forhosting.com/elec/decoder-outputs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input_lines": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/decoder-outputs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input_lines": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/decoder-outputs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input_lines":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input_lines":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/decoder-outputs", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input_lines": 4
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.decoder_outputs",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |