يستخدم نظام الأرقام الثنائية على نطاق واسع في علوم الكمبيوتر لتمثيل البيانات باستخدام حرفين — 0 و 1. بالنسبة للعديد من المهام ، من الضروري معرفة عدد الوحدات في رقم ثنائي ، على سبيل المثال ، لتحديد عدد البتات أو التحقق من وجود علامات معينة.
في لغة برمجة بايثون ، هناك عدة طرق لحساب عدد الوحدات في رقم ثنائي. واحدة من أسهل الطرق هي استخدام أساليب ووظائف بايثون المدمجة. على سبيل المثال ، يمكنك استخدام وظيفة العد () ، والتي تأخذ الحرف المطلوب وتعيد عدد مرات حدوثها في السلسلة:
الرقم الثنائي = '101010'عدد = عدد ثنائي.عدد ('1')
طباعة (العد)
هناك طريقة أخرى وهي استخدام وظيفة الحاوية المدمجة () ، والتي تحول رقما إلى سلسلة ثنائية. ثم يمكنك استخدام طريقة العد () لحساب الوحدات:
يمكنك أيضا استخدام عمليات البت للبحث عن الوحدات في رقم ثنائي. على سبيل المثال ، ستعطي عملية البت و (&) بين رقم و 1 1 فقط إذا انتهى الرقم بـ 1. بتكرار هذه العملية لجميع بتات الرقم ، يمكنك حساب عدد الوحدات:
العدد = 42عدد = 0
بينما رقم != 0:
عدد + = عدد & 1
عدد > > = 1
طباعة (العد)
قدمت هذه المقالة عدة طرق لحساب عدد الوحدات في رقم ثنائي في بايثون. يمكنك اختيار الطريقة الأكثر ملاءمة لك ، اعتمادا على احتياجاتك وتفضيلاتك.
- نظرة عامة على نظام الأرقام الثنائية
- كيفية تمثيل عدد في شكل ثنائي في بيثون?
- أمثلة التعليمات البرمجية وشرح الخوارزمية
- سؤال وجواب
- كيف يمكنني حساب عدد الوحدات في رقم ثنائي في بيثون?
- كيف يمكنني حساب عدد الوحدات في رقم ثنائي باستخدام حلقة?
- هل من الممكن لحساب عدد الوحدات في عدد ثنائي دون استخدام سلسلة?
نظرة عامة على نظام الأرقام الثنائية
نظام الأرقام الثنائية هو نظام يستخدم لتمثيل الأرقام باستخدام رقمين: 0 و 1. على عكس النظام العشري ، الذي يستخدم عشرة أرقام (من 0 إلى 9) ، يستخدم النظام الثنائي رقمين فقط ، مما يجعله النظام الرئيسي لتمثيل المعلومات في أجهزة الكمبيوتر.
في النظام الثنائي ، يكون لكل رقم درجة وزن خاصة به ، والتي تتضاعف مع كل موضع لاحق. على سبيل المثال ، في الرقم 1010 ، يحتوي كل رقم على درجة الوزن التالية: 2 في الموضع الرابع (10) ، 2 في الموضع الثالث (2) ، 2 في الموضع الثاني (0) و 2 في الموضع الأول (0). جمع منتجات الأرقام من قبل القوى الوزن المقابلة ، نحصل على القيمة العشرية للرقم.
مزايا النظام الثنائي:
- البساطة: يحتوي النظام الثنائي على بنية بسيطة مكونة من رقمين فقط ، مما يبسط معالجة الأرقام في أجهزة الكمبيوتر.
- الموثوقية: النظام الثنائي أكثر مقاومة للخطأ لأن أرقامه الرئيسية (0 و 1) يمكن تمييزها بسهولة.
- الكفاءة: نظرا لأن أجهزة الكمبيوتر تعتمد على نظام ثنائي ، فإن العمليات على الأرقام الثنائية تكون أسرع وتتطلب موارد أقل.
كيفية العمل مع الأرقام الثنائية في لغة البرمجة بيثون? لحساب عدد الوحدات في رقم ثنائي ، يمكنك استخدام وظائف ومشغلي بايثون مثل الحلقات وتقسيم الوحدات والعدادات.
على سبيل المثال ، لحساب عدد الوحدات في رقم ثنائي ، يمكنك استخدام رمز بايثون التالي:
رقم التعريف (رقم ثنائي):
العد = 0
بينما الرقم الثنائي > 0:
إذا كان الرقم الثنائي ٪ 2 = = 1:
عدد + = 1
الرقم الثنائي = الرقم الثنائي / / 2
عد العودة
الرقم الثنائي = 1010
عدد واحد = عدد واحد(رقم ثنائي)
طباعة (و " عدد الوحدات في الرقم {رقم ثنائي}: {عدد واحد}")
نتيجة لتنفيذ هذا الرمز ، سيتم عرض الرسالة التالية:"عدد الوحدات في الرقم 1010: 2".
وبالتالي ، فإن نظام الأرقام الثنائية هو أساس العمل مع الأرقام في أجهزة الكمبيوتر ويستخدم لتمثيل المعلومات في شكل 0 و 1. سيساعدك فهم ميزات ومزايا النظام الثنائي على العمل بفعالية مع الأرقام الثنائية وفهم منطق عمليات الكمبيوتر.
كيفية تمثيل عدد في شكل ثنائي في بيثون?
توفر بايثون أدوات ملائمة للعمل مع الأرقام الثنائية. لتمثيل رقم في شكل ثنائي ، يمكنك استخدام وظيفة بن ().
تأخذ دالة الحاوية () عددا صحيحا كوسيطة وتعيد تمثيلها الثنائي كسلسلة. على سبيل المثال ، إذا قمت بتعيين الرقم 10 ، تقوم الدالة بإرجاع السلسلة "0 ب 1010". تشير البادئة" 0 ب " إلى أن الرقم يمثل في تدوين ثنائي.
مثال على استخدام دالة الحاوية() :
العدد = 10
رقم ثنائي = بن (رقم)
طباعة ( رقم ثنائي) # المخرجات: 0 ب 1010
لتسهيل العمل مع الأرقام الثنائية ، يمكنك إزالة البادئة "0 ب" باستخدام شريحة سطر:
العدد = 10
رقم ثنائي = بن (رقم) [2:]
طباعة ( رقم ثنائي) # المخرجات: 1010
بالإضافة إلى ذلك ، يمكنك استخدام وظيفة التنسيق() مع محدد التنسيق "ب" لتحويل رقم إلى سلسلة ثنائية. على سبيل المثال:
العدد = 10
الرقم الثنائي = التنسيق (الرقم ، "ب")
طباعة ( رقم ثنائي) # المخرجات: 1010
وهكذا ، في بايثون هناك عدة طرق لتمثيل رقم في شكل ثنائي: باستخدام وظيفة الحاوية() أو وظيفة التنسيق ().
أمثلة التعليمات البرمجية وشرح الخوارزمية
يمكن استخدام طرق مختلفة لحساب عدد الوحدات في رقم ثنائي في بايثون. لنلق نظرة على بعض أمثلة التعليمات البرمجية:
مثال 1:
عدد الأرقام (عدد الأسطوانات):
"""تحسب الدالة عدد الوحدات في رقم ثنائي"""
ثنائي = بن (الأسطوانات) [2:] # تحويل رقم إلى شكل ثنائي
العد = ثنائي.عدد ('1') # وحدات العد
عد العودة
العدد = 12
عدد واحد = عدد (عدد)
طباعة (و ' عدد الوحدات في العدد {عدد} هو {عدد _ واحد}')
ستكون نتيجة تنفيذ هذا الرمز:
عدد الوحدات في الرقم 12 هو 2
المثال 2:
عدد الأرقام (عدد الأسطوانات):
"""تحسب الدالة عدد الوحدات في رقم ثنائي"""
العد = 0
بينما الأسطوانات:
عد + = الأسطوانات ٪ 2 # زيادة العداد إذا كان الرقم الأخير من الرقم الثنائي هو 1
الأسطوانات / / = 2 # حذف الرقم الأخير من الرقم الثنائي
عد العودة
العدد = 12
عدد واحد = عدد (عدد)
طباعة (و ' عدد الوحدات في العدد {عدد} هو {عدد _ واحد}')
يستخدم هذا المثال خوارزمية لقسمة رقم بالتسلسل على 2 وحساب الباقي. ستكون نتيجة التنفيذ هي نفسها كما في المثال السابق:
عدد الوحدات في الرقم 12 هو 2
يوضح كلا المثالين طرقا مختلفة لحساب عدد الوحدات في رقم ثنائي. يعتمد اختيار نهج معين على تفضيلات المبرمج وخصائص المهمة المحددة.
سؤال وجواب
كيف يمكنني حساب عدد الوحدات في رقم ثنائي في بيثون?
يمكن استخدام عدة طرق لحساب عدد الوحدات في رقم ثنائي في بايثون. تتمثل إحدى الطرق في تحويل رقم إلى سلسلة وحساب عدد الأحرف " 1 " في تلك السلسلة باستخدام طريقة العد (). على سبيل المثال ، سيعمل هذا الرمز: رقم ثنائي = 1010101 عدد من الأرقام = شارع(رقم ثنائي).العد ('1') طباعة (عد_من) نتيجة لتنفيذ الكود ، سيتم إخراج الرقم 4 ، نظرا لأن الرقم الثنائي 1010101 يحتوي على 4 وحدات.
كيف يمكنني حساب عدد الوحدات في رقم ثنائي باستخدام حلقة?
لحساب عدد الوحدات في رقم ثنائي في بايثون باستخدام حلقة ، يمكنك استخدام الكود التالي: رقم ثنائي = 1010101 عدد = 0 للأرقام في شارع(رقم ثنائي): إذا كان الرقم== '1': عدد من += 1 طباعة(عدد من) نتيجة لتنفيذ الكود ، سيتم إخراج الرقم 4 ، نظرا لأن الرقم الثنائي 1010101 يحتوي على 4 وحدات. في هذا الرمز ، نقوم بتحويل رقم ثنائي إلى سلسلة ثم نقوم بتشغيل كل حرف في السلسلة ، والتحقق مما إذا كانت وحدة. إذا كان الرمز هو" 1 " ، فقم بزيادة العداد بمقدار واحد.
هل من الممكن لحساب عدد الوحدات في عدد ثنائي دون استخدام سلسلة?
نعم ، يمكنك حساب عدد الآحاد في رقم ثنائي دون تحويله إلى سلسلة. تتمثل إحدى الطرق في استخدام اتجاه البت وبين الرقم وواحد (0 ب 1) حتى يصبح الرقم صفرا. فيما يلي مثال على الكود: الرقم الثنائي = 1010101 عدد _ من _ = 0 بينما الرقم الثنائي: إذا كان الرقم الثنائي & 1: عدد الأرقام + = 1 رقم ثنائي > > = 1 طباعة (عدد الأرقام) نتيجة لتنفيذ الكود ، سيتم إخراج الرقم 4 ، نظرا لأن الرقم الثنائي 1010101 يحتوي على 4 وحدات. في هذا الرمز ، نطبق باستمرار على البت وعلى الرقم وواحد ، ونحول الرقم إلى اليمين بمقدار بت واحد بعد كل عملية. إذا كانت نتيجة البت و 1 ، ثم زيادة العداد من جانب واحد.