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

حاسبة popcount

اعرف كم واحدًا يحتوي العدد في صورته الثنائية: العدد 42 مكتوبًا في 8 بتات هو 00101010، وفيه 3 آحاد في المواضع 1 و3 و5 و5 أصفار. مفيد للأعلام وأقنعة البتات وتمارين وزن هامينغ. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
القيمة
42
البتات
8
تحصل على
ثنائي
00101010
عدد البتات المفعّلة
3
البتات الصفرية
5
فهارس البتات المفعّلة
1, 3, 5

عداد السكان (population count)، ويُختصر غالبًا إلى popcount أو يُسمى وزن هامينغ، هو عدد البتات التي تساوي واحدًا في التمثيل الثنائي لعدد صحيح. يستخدمه المطوّرون عند تقدير أحجام مجموعات البتات، وتقييم سمات شبيهة بالتكافؤ دون مجموع تحقق كامل، وتقدير كاردينالية أقنعة بأسلوب مرشح بلوم، ومقارنة دوال المترجم الجوهرية مثل __builtin_popcount بمرجع مستقل. تقبل حاسبة population count هذه عددًا صحيحًا غير سالب وعرض بتات ثابتًا اختياريًا، وتعيد النمط الثنائي المبطن بالأصفار، ومجموع البتات المضبوطة، وعدد الأصفار التي تملأ ذلك العرض، وفهارس كل واحد بدءًا من البت الأقل أهمية.

معنى population count ولماذا يطلبه المطوّرون

في حساب الحاسوب، يكون population count لعدد صحيح غير سالب ببساطة عدد أرقامه الثنائية التي تساوي واحدًا. يظهر المقدار ذاته تحت أسماء عدة: وزن هامينغ لسلسلة البتات، أو المجموع الجانبي، أو نتيجة تعليمات عتاد مثل POPCNT على x86 وCNT على ARM. عدّ البتات المضبوطة ليس كتحويل القواعد ولا كحساب التكافؤ وحده: التحويل يعرض النمط، والتكافؤ يختزله إلى زوجي أو فردي، وpopcount يبلّغ عن الكاردينالية الكاملة لبتات الواحد.

تهمّ هذه الكاردينالية عندما يحزم حقل أعلام قيمًا منطقية مستقلة، وعندما يمثل قناع متفرق أعمدة مختارة في مخزن صفوف، وعندما تحتاج خط أنابيب رسومي عدد العينات المفعّلة، وعندما تطلب مسائل المقابلات مسافة هامينغ بين كلمتين — وهي population count لعملية XOR البتية بينهما. ينفّذ هذا المسار مسحًا حتميًا من اليسار إلى اليمين على عرض ثابت حتى تبقى السلسلة الثنائية المبطنة وقائمة فهارس البتات المضبوطة مستقرتين عبر بيئات التشغيل.

متى يفيد عدّ البتات التي قيمتها واحد

تثبت فرق المترجمات وبيئات تشغيل اللغات __builtin_popcount وInteger.bitCount وما شابهها من الدوال الجوهرية مقابل مرجع نقي عند التحقق من الترجمة المتقاطعة وواجهات WASM. ويستخدم مهندسو قواعد البيانات والبحث population count على خرائط بت لقوائم النشر ومقاطع بأسلوب roaring لتقدير الانتقائية قبل تجسيد المنشورات. ويعدّ كود الأمن والبروتوكولات البتات في أقنعة القدرات وحقول أذونات البت عند تسجيل كم امتيازًا يحتفظ به الرمز فعليًا.

وتحتاج منصات الصفوف وصناديق رمل مقابلات البرمجة popcount حتميًا يعرض النمط المبطن إلى جانب المجموع حتى يرى المتعلمون أي المواضع تساهم. وتستفيد مواقع المحتوى التي تتصدر نتائج «حاسبة population count» أو «حاسبة وزن هامينغ» من ودجت مجاني مباشر يطابق مسار المتصفح مسار الأتمتة بايتًا ببايت. لا تستهلك فشل التحقق الرصيد.

حافظوا على الطلبات صغيرة، واحفظوا الثنائي المرجعي والفهارس في الاختبارات، فتحصلون على أوزان هامينغ قابلة لإعادة الإنتاج للدفاتر وعمال الحافة وإضافات LMS دون بناء مكتبة تلاعب بتات خاصة بكم.

مراجع للدوال الجوهرية واختبارات الوحدة

قارنوا POPCNT العتادي أو مساعدات bitCount في اللغة بثنائي مبطن نقي وpopcount لعروض ثابتة ضمن CI.

كاردينالية مجموعات البتات والأعلام

قدّروا كم علمًا أو عمود خريطة بت مضبوطًا في قناع قبل توسيع قائمة الميزات كاملة.

تعليم وزن هامينغ

اعرضوا للطلاب النمط المبطن بالأصفار وفهارس LSB أولًا بجانب مجموع الآحاد لفحوص المقابلات والواجبات.

ما هو population count (popcount)؟

population count هو عدد البتات ذات القيمة 1 في الشكل الثنائي لعدد صحيح — ويُسمى أيضًا وزن هامينغ.

هل تقبل الحاسبة الأعداد السالبة؟

لا. يجب أن يكون value عددًا صحيحًا غير سالب. تفسيرات المتمم الثنائي للسوالب خارج النطاق؛ استخدموا أداة متمم ثنائي مخصصة إذا احتجتم عروضًا موقّعة.

ماذا يتحكم به المعامل bits؟

يثبّت bits العرض غير الموقّع المستخدم لتبطين binary بالأصفار ولفحوص المدى (1–53). عند الحذف يكون العرض هو الطول البتي الطبيعي لـ value (1 للصفر).

كيف أحصل على مسافة هامينغ بين عددين؟

اجمع العددين بعملية الاختيار الحصري بتًا ببت، ثم عُدّ الآحاد في الناتج هنا. كل واحد يدل على موضع يختلف فيه العددان، لذلك فإن هذا العدد هو مسافة هامينغ بينهما.

كيف تُرقَّم مواضع الآحاد؟

من اليمين، بدءًا من 0 للبت الأقل أهمية. لذلك فإن العدد 42، المكتوب 00101010 في 8 بتات، تقع آحاده في المواضع 1 و3 و5.

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

POSThttps://api.kit.forhosting.com/dev/population-count

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

curl -X POST https://api.kit.forhosting.com/dev/population-count \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":42}'
{
  "value": 42
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.population_count",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

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

معنى population count ولماذا يطلبه المطوّرون

للصفر population count يساوي صفرًا ونمط بت واحد صفري عندما لا يُفرض عرض؛ وأكبر عدد صحيح آمن في JavaScript ما زال يناسب ثلاثة وخمسين بتًا من الدلالة، وهو الحد الأعلى الذي تقبله هذه الحاسبة كي يبقى كل ناتج عدد JSON دقيقًا.

عقد الإدخال وعرض التبطين وحقول الاستجابة

ويمكنكم إرسال bits اختياريًا، وهو عدد صحيح من واحد إلى ثلاثة وخمسين، لتثبيت عرض الكلمة غير الموقّع المستخدم في تبطين الأصفار وفحص المدى. أرسلوا عبر POST كائن JSON يتضمن value، وهو عدد صحيح غير سالب إلزامي (عدد JSON أو سلسلة أرقام) من صفر حتى Number.MAX_SAFE_INTEGER. عند وجود bits يجب أن يحقق value صفرًا أصغر من أو يساوي value وأن يكون value أصغر من اثنين مرفوعًا إلى bits (مع سقف العدد الصحيح الآمن للعروض الواسعة). وعند حذف bits يكون العرض هو الطول البتي الطبيعي لـ value — أرضية لوغاريتم الأساس اثنين زائد واحد — أو واحدًا عندما يكون value صفرًا، حتى لا يكون حقل binary سلسلة فارغة أبدًا. عند النجاح يعيد الجسم value وbits؛ وbinary هو نمط البتات المبطن بالأصفار مع البت الأكثر أهمية إلى اليسار؛ وpopcount هو وزن هامينغ؛ وzero_bits يساوي bits ناقص popcount؛ وset_bit_indices يسرد كل موضع يظهر فيه واحد مع البت الأقل أهمية كفهرس صفر؛ وmethod هو الثابت population_count للعملاء الذين يتفرعون حسب هوية الأداة. مثال: value اثنان وأربعون مع bits ثمانية يعطي binary صفر-صفر-واحد-صفر-واحد-صفر-واحد-صفر، وpopcount ثلاثة، وzero_bits خمسة، والفهارس واحد وثلاثة وخمسة. غياب value أو القيم السالبة أو الكسور أو السلاسل غير الرقمية أو bits خارج واحد إلى ثلاثة وخمسين أو value يتجاوز العرض المختار يفشل مع invalid_input ولا يُفوتر. تُرفض الكائنات والمصفوفات الفارغة برسالة عقد قصيرة حتى تظهر أخطاء SDK فورًا.

أين تثبت API لـ popcount قيمتها في مسارات العمل الحقيقية

ولأن التنفيذ pure parse من المستوى A، يكلف كل استدعاء ناجح السعر الأساسي المنشور $0.002 دون رموز نموذج ودون شبكة صادرة.

كيف تُرتَّب set_bit_indices؟

تستخدم الفهارس البت الأقل أهمية كموضع 0 وتسرد كل بت 1 من الأسفل إلى الأعلى. مثال: value 5 (ثنائي 101) يعطي الفهارس [0, 2].

كم تكلفة حاسبة population count؟

أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل استدعاء ناجح؛ ولا تُفوتر المدخلات غير الصالحة.

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