ForHosting KIT · أدوات المطورين

حاسبة مسافة هامينغ بين عددين صحيحين

مسافة هامينغ بين عددين صحيحين هي عدد مواضع البتات التي تختلف فيها تمثيلاتهما الثنائية.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تطبق هذه الحاسبة الطريقة القياسية: تحسب XOR على مستوى البت للعددين، ثم تعد البتات المضبوطة في النتيجة. يمكنكم مقارنة الأعلام والأقنعة والمعرفات المدمجة والحالات المرمزة ومتجهات الاختبار من دون محاذاة السلاسل الثنائية يدويا. تقبل الأعداد الصحيحة الآمنة غير السالبة في JavaScript، بما فيها الصفر، وتعرض قيمة XOR وتمثيلها الثنائي.

ما الذي تقيسه مسافة هامينغ للأعداد الصحيحة

عُرّفت مسافة هامينغ أصلا للسلاسل المتساوية في الطول، لكن يمكن تفسير الأعداد الصحيحة طبيعيا كسلاسل بتات. يكتب كل عدد بالأساس الثنائي، وتفترض أصفار بادئة عندما يكون أحد التمثيلين أقصر. يضاف واحد إلى المسافة عندما يحتوي الموضع على صفر في عدد وواحد في الآخر، أما المواضع المتطابقة فلا تضاف. لذلك تكشف مقارنة أقنعة الصلاحيات عدد الأعلام التي تغيرت، وتبين مقارنة الحالات المدمجة عدد السمات الثنائية التي تبدلت. النتيجة عدد مواضع وليست الفرق الحسابي بين العددين؛ فقد يختلف عددان متقاربان في بتات كثيرة، وقد يختلف عددان متباعدان في بت واحد. تقبل القدرة أعداد JavaScript الصحيحة الآمنة غير السالبة لضمان تمثيل دقيق في معالج API والمتصفح. الصفر صالح، ومسافته من أي عدد تساوي عدد البتات المضبوطة في ذلك العدد.

كيف ينتج XOR وعد البتات الإجابة

عملية أو الحصرية، المعروفة باسم XOR، هي العملية الأساسية لأن جدول حقيقتها يطابق تعريف اختلاف البت. فهي تنتج صفرا عندما يتطابق بتان متحاذيان، وواحدا عندما يختلفان. بعد تطبيق XOR على العددين تصبح المهمة عد البتات التي قيمتها واحد. يستخدم التنفيذ طريقة Brian Kernighan؛ ففي كل دورة يؤدي طرح واحد من القيمة الحالية ثم تطبيق AND إلى مسح أدنى بت مضبوط. وهكذا تعمل الحلقة مرة لكل موضع مختلف، لا مرة لكل موضع محتمل. تستخدم حسابات BigInt داخليا لمنع معاملات البت المعتادة في JavaScript من تقليص القيم خفية إلى أعداد صحيحة موقعة من 32 بت. تبقى قيمة XOR المعادة آمنة كعدد عادي لأنها لا تستطيع ضبط بت أعلى من البتات الموجودة في المدخلين الآمنين المتحقق منهما. كما يعاد تمثيل XOR الثنائي لتسهيل الفحص وتصحيح الأخطاء والتعليم.

اختيار المدخلات وقراءة النتيجة

أدخلوا القيمتين في الحقلين a وb. يجب أن تكون كل قيمة عددا صحيحا من الصفر إلى أكبر عدد تمثله JavaScript بدقة؛ وترفض الكسور والقيم السالبة والسلاسل الرقمية واللانهاية والحقول المفقودة. تحتوي الاستجابة على xor وbinary_xor وhamming_distance. تفيد قيمة xor العشرية في عمليات الأقنعة اللاحقة، ويعرض binary_xor المواضع المختلفة، ويقدم hamming_distance عددها. تحذف الأصفار البادئة لأنها لا تغير المسافة. إذا تجاوزت القيم الأصلية نطاق العدد الصحيح الآمن، فاحتفظوا بها خارج هذه القدرة بدلا من تقريبها، لأن التقريب قد يغير البتات الدنيا ويعطي مسافة مضللة. يمكن للتكاملات مقارنة العدد بعتبة، أو قبول رمز تغير فيه بت واحد، أو فحص متجهات معروفة. العملية متناظرة؛ فتبديل a وb لا يغير الناتج، ومقارنة أي قيمة بنفسها تعطي صفرا دائما.

مقارنة أقنعة الميزات أو الصلاحيات

عدوا الأعلام التي تغيرت بين قناعين صحيحين وافحصوا قناع XOR الذي يحددها.

التحقق من شيفرة معالجة البتات

أنشئوا مسافة متوقعة حتمية وتمثيل XOR للاختبارات أو التمارين أو فحص الخوارزميات.

قياس تغير الحالات المرمزة

لخصوا السمات الثنائية المختلفة بين حالتين مدمجتين من دون الخلط بين تغير البت والطرح العددي.

ما تكلفة هذه القدرة؟

يكلف كل طلب API مقدار $0.002. ويمكن إجراء الحساب الحتمي نفسه في المتصفح أيضا.

لماذا يستخدم XOR لحساب مسافة هامينغ؟

يضع XOR بتا قيمته واحد حيث تختلف بتات المدخلين تماما، ولذلك يعطي عدها المسافة مباشرة.

هل تحسب الأصفار البادئة؟

لا. فهي تطابق الأصفار البادئة الضمنية للعدد الآخر غير السالب ولا تزيد المسافة.

هل يمكن إدخال أعداد صحيحة سالبة؟

لا. تتطلب القيم السالبة اختيار عرض وتمثيل موقع، ولذلك تقبل القدرة الأعداد غير السالبة فقط.

ما أكبر قيمة مقبولة؟

يمكن أن يكون كل مدخل عددا صحيحا آمنا غير سالب في JavaScript حتى 9,007,199,254,740,991.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/hamming-distance-int

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/hamming-distance-int \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":29,"b":15}'
{
  "a": 29,
  "b": 15
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.hamming_distance_int",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←