البرمجة

تحويل الأعداد العشرية إلى النظام الثنائي باستخدام لغة C

في بداية الأمر، يجدر بك أن تعلم أن تحويل الأرقام العشرية إلى نظام الأعداد الثنائي يعتبر مهمة أساسية في علم البرمجة. سأقدم لك شرحًا تفصيليًا لكيفية إكمال الكود الذي قدمه لك أستاذك، بحيث يقوم بتحويل الرقم العشري إلى تمثيله الثنائي.

لنبدأ بتعبئة دالة printBinary التي أعطاك إياها أستاذك. هذه الدالة ستقوم بطباعة التمثيل الثنائي للعدد الذي ستمرره لها كوسيط. إليك كيفية استكمال الكود:

c
#include void printBinary(short n) { // ابتداءً من البت الأكثر أهمية إلى الأقل for (int i = 15; i >= 0; --i) { // استخدام العملية البتية لفحص قيمة البت في الموضع الحالي int bit = (n >> i) & 1; // طباعة البت printf("%d", bit); // إذا كنت ترغب في فصل البتون بشكل أفضل، يمكنك إضافة فراغ بين كل 4 بتات مثلاً if (i % 4 == 0) printf(" "); } printf("\n"); } int main(int argc, char **argv) { short n; printf("Enter number: "); scanf("%hd", &n); printBinary(n); return 0; }

لنقم بتفسير بعض الأشياء في هذا الكود. أولاً وقبل كل شيء، يتم استخدام الحلقة for للمرور عبر جميع بتات الرقم (16 بتًا في حالتك)، بدءًا من البت الأكثر أهمية وصولاً إلى البت الأقل أهمية. يتم استخدام العملية البتية >> لتحريك القيمة في كل تكرار وفحص قيمة البت في الموضع الحالي باستخدام & 1.

ثم يتم طباعة البت بواسطة printf، ويمكنك إضافة مسافة بين كل 4 بتات لتسهيل القراءة. يتم تكرار هذه العملية حتى يتم فحص جميع البتات، وفي النهاية يتم طباعة سطر جديد.

أتمنى أن يكون هذا الشرح مفيدًا لك، وإذا كان لديك أي استفسارات إضافية، فلا تتردد في طرحها.

المزيد من المعلومات

بالطبع، دعونا نقوم بتوسيع فهمك حول عملية تحويل الأعداد من النظام العشري إلى النظام الثنائي في لغة البرمجة C.

أولاً، يتم استخدام العملية >> (التحريك لليمين) لنقل بتات العدد إلى اليمين. عند استخدام n >> i، يتم نقل قيمة البت في الموضع i إلى اليمين، ويتم تجاهل البتات الزائدة من اليمين. على سبيل المثال، إذا كانت n تحتوي على القيمة 0000000000001001، فعند استخدام n >> 3، ستكون القيمة 0000000000000001، وذلك لأنه تم نقل قيمة البت في الموضع 3 إلى اليمين.

ثم يتم استخدام & 1 لفحص قيمة البت الأقل أهمية. يعمل هذا العبارة على إجراء عملية “و” بين القيمة الناتجة من التحريك لليمين والقيمة 1 في النظام الثنائي. هذا يؤدي إلى الحصول على قيمة البت الأقل أهمية فقط وتجاهل البتات الأخرى. يمكنك تخيلها كآلية للحصول على باقي القسمة عند قسمة العدد على 2.

وفيما يتعلق بجزء الطباعة، يتم استخدام printf لطباعة البتات. يمكنك أيضًا إضافة فراغات بين البتات أو ترتيبها بطريقة تجعل الناتج أكثر قراءة وتفهمًا.

باختصار، الكود يستخدم عدة مفاهيم أساسية في لغة البرمجة C مثل التحريك لليمين وعملية “و” بين البتات لتحويل العدد العشري إلى تمثيله الثنائي بشكل فعّال.

مقالات ذات صلة

زر الذهاب إلى الأعلى