كيفية تحويل عشري إلى ثنائي في C

Kyfyt Thwyl Shry Aly Thnayy Fy C



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

كيفية تحويل عشري إلى ثنائي في C؟

يتم قسمة القيمة العشرية المقدمة على 2 عدة مرات ، مع تسجيل الباقي حتى نصل إلى 0 باعتباره حاصل القسمة النهائي. تستخدم هذه العملية لتحويل الأعداد الصحيحة من عشري إلى ثنائي. تعتبر الصيغة التي توضح عملية التحويل من نظام عشري إلى ثنائي هي المراحل كما يلي:







الخطوة 1: أوجد الباقي بقسمة الرقم على 2 ، ثم أضفه إلى المصفوفة.



الخطوة 2: بعد ذلك ، اقسم الباقي على اثنين.



الخطوه 3: نفذ الخطوتين الأوليين مرة أخرى حتى تتجاوز النتيجة 0.





الخطوة الرابعة: اعرض المصفوفة للخلف للحصول على الشكل الثنائي للرقم. تقع البتة الأقل أهمية (LSB) لرقم ثنائي في الأعلى ، بينما تكون البت الأكثر أهمية (MSB) باتجاه الأسفل ، وهي طريقة أخرى لتفسير ذلك. المكافئ الثنائي للرقم العشري المقدم هو هذا.

لفهم هذا بشكل أفضل ، إليك تحويل لـ 11 10 في النظام العشري لتحويل ثنائي:



قسمة 2 حاصل القسمة بقية
11 2 5 1 (LSB)
5 2 2 1
2-2 1 0
1-2 0 1 (MSB)


الآن ، اكتب الباقي بالترتيب العكسي ، وبالتالي ، عشري (11 10 ) يصبح (1011 2 ).

سيتم تدوين الباقي ثم كتابته بحيث يأتي (MSB) من الرقم الثنائي أولاً ، ثم الباقي. وبالتالي ، 1011 2 هو المكافئ الثنائي للقيمة العشرية المحددة 11 10 . نتيجة لذلك ، 11 10 = 1011 2 . فيما يلي تنفيذ العلامة العشرية المذكورة أعلاه إلى تحويل ثنائي بلغة C.

الطرق المستخدمة لتحويل عشري إلى ثنائي

هذه الطرق المستخدمة في لغة C تحول الأرقام العشرية إلى ثنائي:

الآن ، قم بتنفيذ تحويل الكسور العشرية إلى آحاد ثنائية بواحد من خلال الطرق المذكورة أعلاه.

الطريقة 1: من عشري إلى ثنائي في C البرمجة باستخدام التكرار الحلقي

فيما يلي تحويل الرقم العشري (11) إلى ثنائي بمساعدة حلقة for-loop في C:

# تضمين
تحويل باطل ( عدد العمليات 1 ) {
لو ( عدد 1 == 0 ) {
printf ( '0' ) ؛
يعود ؛
}
int binary_num [ 32 ] ؛ // بافتراض 32 عدد صحيح بت.
int أنا = 0 ؛
ل ( ؛ العدد 1 > 0 ؛ ) {
binary_num [ أنا ++ ] = عدد 1 ٪ 2 ؛
عدد 1 / = 2 ؛
}
ل ( int j = i- 1 ؛ ي > = 0 ؛ ي-- )
printf ( '٪د' ، binary_num [ ي ] ) ؛
}
انت مين ( ) {
عدد العمليات 1 ؛
printf ( 'أدخل رقمًا عشريًا:' ) ؛
مسح ( '٪د' و & عدد 1 ) ؛
يتحول ( عدد 1 ) ؛
يعود 0 ؛
}


يستخدم البرنامج أعلاه حلقة for لتحويل الرقم العشري الذي يوفره المستخدم إلى رقم ثنائي. الخرج هو:

الطريقة 2: عشري إلى ثنائي في البرمجة C باستخدام while Loop

في هذه الطريقة ، يتم استخدام حلقة while-loop في C لتحويل الرقم العشري (11) إلى ثنائي ، كما هو موضح أدناه:

# تضمين
انت مين ( ) {
int decimal_num، binary_num = 0 ، القاعدة = 1 ، بقية؛
printf ( 'أدخل رقمًا عشريًا:' ) ؛
مسح ( '٪د' و & decimal_num ) ؛
بينما ( decimal_num > 0 ) {
الباقي = decimal_num ٪ 2 ؛
binary_num = binary_num + الباقي * قاعدة؛
decimal_number = decimal_number / 2 ؛
القاعدة = القاعدة * 10 ؛
}
printf ( 'الثنائي للرقم العشري المحدد مع حلقة while هو:٪ d' ، binary_num ) ؛
يعود 0 ؛
}


تم التصريح أولاً عن المتغيرات الأربعة للأعداد الصحيحة decimal_num و binary_num و base والباقي في هذا البرنامج. يقوم المستخدم بإدخال قيمة عشرية ، والتي سنقوم بتحويلها إلى رقمها binary_num. يتم إجراء التحويل الثنائي باستخدام حلقة while.

الطريقة الثالثة: من عشري إلى ثنائي في البرمجة C باستخدام Stack

هذه هي الطريقة المباشرة مع برنامج C القائم على المكدس الذي يغير قيمة عشرية إلى ثنائي:

# تضمين

#define MAX_SIZE 32 // الحد الأقصى لعدد وحدات البت في التمثيل الثنائي
انت مين ( ) {
int decimal_num ، ثنائي [ اقصى حجم ] ، أعلى = -1 ؛
printf ( 'الرجاء إدخال أي رقم عشري:' ) ؛
مسح ( '٪د' و & decimal_num ) ؛
بينما ( decimal_num > 0 ) {
الثنائية [ ++ الأعلى ] = decimal_num ٪ 2 ؛
decimal_num / = 2 ؛
}
printf ( 'ثنائي٪ d باستخدام أسلوب المكدس هو:' ) ؛
بينما ( قمة > = 0 ) {
printf ( '٪د' ، الثنائية [ قمة-- ] ) ؛
}
يعود 0 ؛
}


نعلن أولاً عن متغيرات الأعداد الصحيحة الثلاثة top و binary و decimal_num في هذا البرنامج. الجزء العلوي هو فهرس أعلى عنصر في المكدس ، والعدد العشري هو الرقم في الشكل العشري الذي يتم إدخاله بواسطة المستخدم ، والثنائي عبارة عن مصفوفة تحتوي على البتات في ثنائي مثل MAX_SIZE بت و decimal_num هي المصفوفة الثنائية. بعد ذلك ، يتم إجراء التحويل الثنائي باستخدام حلقة while.

الخرج هو:

الطريقة الرابعة: من عشري إلى ثنائي في البرمجة C باستخدام عامل بت

عامل معروف باسم عملية بت يتعامل مع كل بت من الرموز الثنائية التي تمثل الأعداد الصحيحة. ما يلي هو برنامج نصي أساسي C يستخدم عمليات أحاديات لترجمة رقم في الكسور العشرية إلى ثنائي:

# تضمين

// ستظهر هذه الطريقة جميع ملفات 4 بتات من رقم
تحويل باطل ( عدد العمليات 1 ) {
// النظر في أ 4 رقم بت
ل ( int أنا = 3 ؛ أنا > = 0 ؛ أنا-- ) {
عدد بت = ( 1 << أنا ) ؛
لو ( عدد 1 & قليل )
printf ( '1' ) ؛
آخر
printf ( '0' ) ؛
}
}
انت مين ( ) {
عدد العمليات 1 ؛
printf ( 'أدخل رقمًا عشريًا:' ) ؛
مسح ( '٪د' و & عدد 1 ) ؛
تحويل ( عدد 1 ) ؛
يعود 0 ؛
}


سينفذ هذا البرنامج حلقة for من خلال الرقم الذي يبدأ من البت الأكثر أهمية وينتهي بالبت الأقل أهمية. من خلال إجراء عملية 'bitwise AND' على القناع و num ، يمكننا تحديد ما إذا كانت البتة إما 0 أو 1. إذا كانت غير صفرية ، فإن البتة الحالية هي 1 ؛ خلاف ذلك ، فهو 0.

لإظهار الشكل الثنائي لـ num1 ، أخرج البت بعد كل تكرار. سيكون الناتج النهائي بعد التنفيذ الكامل على النحو التالي:

خاتمة

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