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