ترميز فيبوناتشي
حوّل أي عدد صحيح موجب إلى رمز فيبوناتشي: العدد 6 يصبح 10011 لأنه مجموع الحدين 1 و5. ينتهي كل رمز بـ 11، فتُفصل الرموز المتتالية دون ذكر أطوالها، وهذا مفيد في تمارين الضغط وتصميم البروتوكولات. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- N
- 6
- رمز فيبوناتشي
- 10011
- طول البتات
- 5
- حدود زيكندورف
- 1, 5
ترميز فيبوناتشي رمز ثنائي شامل يربط كل عدد صحيح موجب بسلسلة بتات فريدة تنتهي دائماً بواحدين متتاليين. يعتمد البناء على مبرهنة زيكندورف: كل عدد صحيح موجب هو مجموع أعداد فيبوناتشي غير متتالية من المتتالية التي تبدأ بواحد واثنين وثلاثة وخمسة وثمانية وما إلى ذلك. ضع واحداً لكل حد في المجموع، وصفراً لكل حد أساس يُتخطى بدءاً من F اثنين، ثم ألحق بتاً ختامياً نهائياً حتى ينتهي الرمز بأحد عشر. يستعمل طلاب نظرية المعلومات وواجبات الضغط ومصممو البروتوكولات الذين يحتاجون ترميزاً ذاتي التحديد للأعداد الصحيحة هذا المحوّل للتحقق من الأمثلة دون بناء جدول فيبوناتشي يدوياً.
ما ترميز فيبوناتشي ولماذا تنتهي الرموز بـ 11
ينتمي ترميز فيبوناتشي إلى عائلة الرموز الشاملة للأعداد الصحيحة الموجبة: كل n أكبر من أو يساوي واحداً يحصل على كلمة ثنائية، ولا تكون أي كلمة رمز بادئة لأخرى، فيمكن تحليل تدفق رموز بلا بادئات طول. الحقيقة الرياضية المركزية هي مبرهنة زيكندورف. باستخدام متتالية فيبوناتشي المكتوبة F اثنان يساوي واحداً، F ثلاثة يساوي اثنين، F أربعة يساوي ثلاثة، F خمسة يساوي خمسة، وهكذا (المتتالية المعتادة دون تكرار الواحد الأول)، لكل عدد صحيح موجب تمثيل فريد كمجموع حدود غير متتالية من تلك المتتالية.
يضع الترميز بتاً تحت كل قيمة أساس من F اثنين حتى أكبر حد مجموع يظهر: البت واحد عندما يُستخدم ذلك العدد الفيبوناتشي وصفر بخلاف ذلك. ولأن زيكندورف يمنع واحدين متتاليين في بتات الأساس، فإن أعلى بت مستخدم يكون دائماً واحداً ولا يليه واحد آخر داخل الأساس. إضافة واحد ختامي واحد تنتج إذن نهاية مميزة من واحدين متتاليين.
ذلك النمط هو إشارة توقف فاك الرمز: اقرأ البتات حتى ترى أحد عشر، انزع الواحد الأخير، واستعد مجموع زيكندورف. القيم الصغيرة الكلاسيكية تجعل النمط ملموساً. الواحد يُرمَّز أحد عشر، والاثنان صفراً واحداً واحداً، والثلاثة صفراً صفراً واحداً واحداً، والأربعة واحداً صفراً واحداً واحداً، والخمسة صفراً صفراً صفراً واحداً واحداً، والستة واحداً صفراً صفراً واحداً واحداً. n الأكبر يمدّ جدول فيبوناتشي حتى أكبر Fk لا يتجاوز n، ينفّذ الاختيار الجشع من الأعلى، ويُصدر السلسلة المختومة ذاتها.
يطول الرمز بترتيب لوغاريتم n بالأساس phi، فتبقى حتى الأعداد الصحيحة الآمنة الكبيرة سلاسل بتات قصيرة مناسبة للعروض والمتجهات الاختبارية وشرائح التدريس عن رموز الأعداد الصحيحة الخالية من البادئة.
أين يفيد ترميز فيبوناتشي
تستعمل مقررات نظرية المعلومات والضغط ترميز فيبوناتشي رمزاً شاملاً ملموساً إلى جانب إلياس غاما ودلتا؛ يتيح محوّل حي للطلاب التحقق من ترميزات الواجبات لأي أعداد صحيحة موجبة دون بناء جدول فيبوناتشي في كل مرة. تحتاج البرمجة التنافسية ومدونات الخوارزميات التي تناقش تمثيلات زيكندورف أو أنظمة عد فيبوناتشي أو تيارات ذاتية التحديد أوراكل حتمي يعيد سلسلة البتات والحدود لاختبارات الوحدة. يمكن لمصممي البروتوكولات الذين يقيّمون ترميزات أعداد صحيحة متغيرة الطول مقارنة أطوال رمز فيبوناتشي بمخططات العرض الثابت وأسلوب LEB128 على متتاليات معرفات عيّنة قبل تثبيت تنسيق السلك.
التحقق الفاشل لا يستهلك الرصيد.
حالات الاستخدام
مراجعة واجبات نظرية المعلومات
يرمّز الطلاب يدوياً أعداداً صحيحة موجبة بجداول زيكندورف ويتحققون من رمز فيبوناتشي الثنائي (ينتهي دائماً بـ 11) أمام أوراكل حتمي.
عروض الضغط والرموز الشاملة
تقارن مواد الدرس طول ترميز فيبوناتشي برموز إلياس على أعداد صحيحة عيّنة وتُظهر نمط الختام الذي يجعل التدفق خالياً من البادئة.
الأسئلة الشائعة
كيف أحوّل عدداً إلى رمز فيبوناتشي؟
أرسل عدداً صحيحاً موجباً n (n ≥ 1).
لماذا ينتهي كل رمز فيبوناتشي بـ 11؟
بتات زيكندورف لا تنتهي بواحدين متتاليين؛ يُلحق ختام 1 بعد أعلى بت أساس (دائماً 1)، فينتج نمط التوقف المميز 11 للفك الفريد.
ماذا يحدث إذا كان n صفراً أو سالباً؟
ترميز فيبوناتشي معرّف فقط للأعداد الصحيحة الموجبة (n ≥ 1)، والطلبات غير الصالحة لا تُفوتر.
أي متتالية فيبوناتشي يستخدمها المرمّز؟
الاختيار الجشع يعطي توسيع زيكندورف الفريد بلا حدود متتالية.
ما رمز فيبوناتشي للعدد 12؟
يُرمَّز العدد 12 على شكل 101011. حدود زيكندورف فيه هي 1 و3 و8 ومجموعها 12، والرقم 1 الأخير المضاف يكوّن 11 الختامية التي تدل على نهاية الرمز.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/numth/fibonacci-coding \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":6}'const res = await fetch("https://api.kit.forhosting.com/numth/fibonacci-coding", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/fibonacci-coding",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/fibonacci-coding", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/fibonacci-coding", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"n": 6
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.fibonacci_coding",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
الخوارزمية النقية ذاتها تغذّي الأداة المجانية في المتصفح ومسار API المدفوع، فيطابق المثال الذهبي في الصف أتمتة الإنتاج بايتاً بايتاً بلا نموذج وبلا شبكة داخل الحلال.
عقد الإدخال وحقول الاستجابة وسلوك الأخطاء
مثال: n يساوي واحداً يعطي الرمز الأدنى أحد عشر مع حد زيكندورف واحد يساوي واحداً. مثال: n يساوي اثني عشر يعطي واحد صفر واحد صفر واحد واحد مع حدود واحد وثلاثة وثمانية. العملاء الذين يحتاجون سلسلة البتات فقط يمكنهم تجاهل الحقول التعليمية؛ ويمكن للمصححين والدفاتر التحقق من الرمز والحدود لاصطياد أخطاء الإزاحة في جدول الطالب اليدوي. أرسل بجسم JSON عبر POST حقلاً إلزامياً واحداً n: عدداً صحيحاً موجباً أكبر من أو يساوي واحداً. قد تصل القيمة كعدد JSON ضمن نطاق الأعداد الصحيحة الآمنة أو كسلسلة أرقام تُطبَّع إلى النطاق نفسه. غياب n والسلاسل الفارغة وغير الأعداد الصحيحة والقيم غير المنتهية والصفر وأي عدد سالب تفشل بـ invalid_input ولا تُفوتر. عند النجاح تعيد الاستجابة n، وترجع fibonacci_code كسلسلة ثنائية تنتهي دائماً بأحد عشر، وتُبلّغ bit_length كطول السلسلة بالأحرف، وتسرد zeckendorf_terms كحدود فيبوناتشي التصاعدية التي تعيد جمع n، وتتضمن سلسلة صيغة قصيرة تعيد صياغة البناء للعرض بجانب الجواب. مثال: n يساوي ستة يعطي fibonacci_code واحد صفر صفر واحد واحد، وbit_length خمسة، وzeckendorf_terms واحد وخمسة، لأن خمسة زائد واحد يساوي ستة وبتات الأساس من F اثنين إلى F خمسة هي واحد، صفر، صفر، واحد قبل الختام. التنفيذ parse نقي من المستوى A: بلا شبكة صادرة، بلا عشوائية، بلا اعتماد على الساعة، فينتج n نفسه دائماً الحمولة نفسها ويُؤمَن تثبيته في اختبارات ذهبية آلية.
أين تفيد واجهة API لترميز فيبوناتشي
تستفيد مواقع المحتوى التي تتنافس على محوّل ترميز فيبوناتشي من ودجت مجاني في المتصفح تتطابق حساباته مع مسار API الذي تستخدمه الأتمتة، فلا يختلف زوار SEO عن التكاملات المدفوعة في مثال كتابي. ولأن كل استدعاء ناجح بند قابل للفوترة عند $0.002 بتكلفة تحليلية أقل بكثير من ذلك الحد الأدنى، تبقى القدرة رخيصة لسكربتات التصحيح الدفعي وعُمّال الحافة. أبقِ n ضمن حد الأعداد الصحيحة الآمنة المنشور، ثبّت سلاسل fibonacci_code المتوقعة في الاختبارات، واحصل على ترميزات قابلة للتكرار للتعليم وتجهيزات التوثيق ونماذج أولية خفيفة للبروتوكولات دون إقامة مكدس جبر حاسوبي أو تضمين حلقات هشة مخصصة في كل لغة عميل.
حالات التكامل
متجهات اختبار لأدوات زيكندورف
يمكن للسكربتات التي تنفّذ عدّ فيبوناتشي أو معرفات ذاتية التحديد تثبيت fibonacci_code وzeckendorf_terms لعدة قيم n دون تضمين تنفيذاً ثانياً.
أسئلة تقنية
كم تكلفة محوّل ترميز فيبوناتشي؟
أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقاً عند $0.002 لكل استدعاء ناجح؛ الإدخال غير الصالح لا يُفوتر.