الأرقام في نظام الأرقام الثنائية هي أساس عمل الكمبيوتر والبرمجة. عند تطوير برامج ج ، غالبا ما يكون من الضروري تحويل الأرقام إلى شكل ثنائي. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، لعرض البيانات بتنسيق ثنائي في نافذة وحدة التحكم أو تصحيح أخطاء الرسائل. في هذه المقالة ، سننظر في تعليمات مفصلة حول كيفية إخراج رقم في ثنائي سي.
يمكن تحقيق إخراج رقم في شكل ثنائي باستخدام لغة ج بعدة طرق. واحد منهم يستخدم مشغل التحول بت إلى اليمين. Для этого необходимо сначала преобразовать число в двоичную систему счисления с помощью функции itoa, а затем с помощью побитового сдвига преобразовать его в двоичный вид.
برينتف ("الرقم العشري: ٪ د
- "،الأسطوانات);
- برينتف ("الرقم الثنائي:");
- برينتبيناري (الأسطوانات);
- العودة 0;
- }
- يستخدم هذا المثال وظيفة الطباعة الثنائية ، والتي تقبل عددا صحيحا في الترميز العشري. ثم يتم تحويل الرقم إلى ثنائي باستخدام الدالة _يتوا وعرضها باستخدام وظيفة برينتف.
بعد ذلك ، يتم تحويل الرقم الثنائي الناتج مرة أخرى إلى عشري باستخدام وظيفة أتوي وعرضها على الشاشة.
وهكذا ، فإن المثال يسمح لك لإخراج عدد في سي ثنائي.
- كيفية طباعة رقم في ثنائي ج
- باستخدام وظيفة برينتف
- عمليات البت في ج
- طريقة التحول وإخفاء
- ستدليب.مكتبة ح
- التلاعب بالذاكرة
- توليد أرقام عشوائية زائفة
العمل مع الملفات
| إدارة العمليات |
|---|
| الطريقة العودية |
| تحويل رقم إلى سلسلة |
| سؤال وجواب |
| كيف يمكنني طباعة رقم في شكل ثنائي? |
| ما هي الوظائف القياسية التي يمكن استخدامها لإخراج رقم في شكل ثنائي? |
| هل من الممكن لكتابة وظيفة الخاصة بك لإخراج عدد في شكل ثنائي? |
| ما هي المكتبات الجاهزة التي يمكن استخدامها لإخراج الأرقام في شكل ثنائي? |
| كيفية طباعة رقم في ثنائي ج |
| في لغة البرمجة سي ، يمكنك إخراج رقم في شكل ثنائي باستخدام الخوارزمية التالية: |
| تعيين الرقم المراد إخراجه في شكل ثنائي. |
| تهيئة متغير لتخزين ما تبقى من القسمة. |
| باستخدام حلقة سيتم تشغيلها حتى يصبح الرقم صفرا. |
| داخل الحلقة: حساب ما تبقى من قسمة رقم على 2 وحفظه في متغير. |
| داخل الحلقة: قسمة رقم على 2 وتخزين النتيجة في المتغير نفسه. |
داخل الحلقة: عرض الباقي على الشاشة
نهاية الدورة.
نموذج التعليمات البرمجية في ج:
# تشمل
كثافة العمليات الرئيسية()
{
عدد كثافة العمليات;
الباحث الباقي;
برينتف ("أدخل رقم:");
- المسح الضوئي ("٪د " ، والرقم);
- بينما (رقم != 0)
- {
- الباقي = العدد % 2;
- عدد / = 2;
- برينتف ("٪د " ، الباقي);
- }
- العودة 0;
- }
- بعد تنفيذ الخوارزمية ، سترى الرقم في شكل ثنائي بترتيب عكسي ، لأن باقي القسمة يتم إخراجها من اليمين إلى اليسار.
باستخدام وظيفة برينتف
وظيفة برينتف هي واحدة من الوظائف الأكثر استخداما في لغة البرمجة سي. يسمح لك بإخراج البيانات إلى وحدة تحكم أو جهاز إخراج آخر مثل الطابعة.
- بناء الجملة من وظيفة برينتف يبدو مثل هذا:
- برينتف (تنسيق سلسلة ، الحجج);
تحدد سلسلة التنسيق نوع البيانات التي نريد إخراجها وبأي تنسيق. الحجج هي القيم التي نريد عرضها.
على سبيل المثال ، لإخراج عدد صحيح ، يمكنك استخدام سلسلة التنسيق التالية: ٪ د. ستكون الوسيطة هي الرقم نفسه الذي يجب إخراجه.
لإخراج رقم بتنسيق ثنائي ، يمكنك استخدام المحدد التالي: ٪ ب. ومع ذلك ، لا تتضمن مكتبة سي القياسية مثل هذا المحدد ، لذلك سنحتاج إلى إنشاء وظيفة خاصة بنا لتحويل رقم إلى تمثيل ثنائي.
هنا مثال على هذه الوظيفة:
فواد برينتبيناري (عدد كثافة العمليات) {
- قناع كثافة العمليات غير الموقعة = 1 < < (حجم (كثافة العمليات) * 8 - 1);
- بينما (قناع) {
- إذا (رقم وقناع)
- برينتف ("1");
- آخر
- برينتف ("0");
قناع > > = 1;
}}
في هذا المثال ، يتم استخدام عملية البت "و" للتحقق من كل بت من الرقم. إذا تم ضبط البت على واحد ، فإننا نخرج "1" ، وإلا — "0". في هذه الحالة ، يبدأ ترتيب فحص البتات بأعلى بت ويستمر إلى أدنى مستوى.
لإخراج رقم في شكل ثنائي ، وهو ما يكفي لاستدعاء وظيفة برينتبيناري وتمرير كوسيطة الرقم ليكون الإخراج. على سبيل المثال:
عدد الباحث = 42;
برينتبيناري (عدد);
نتيجة لذلك ، سيتم عرض الرقم 42 في التمثيل الثنائي على وحدة التحكم: 00101010.
وبالتالي ، فإن استخدام وظيفة برينتف يجعلها ملائمة لإخراج الأرقام بتنسيقات مختلفة ، بما في ذلك الثنائية.
عمليات البت في ج
تسمح لك عمليات البت في لغة البرمجة ج بالعمل مع البتات الفردية بالأرقام. يمكن أن تكون مفيدة في مواقف مختلفة ، على سبيل المثال ، لتعبئة الأعلام ومعالجة حقول البت وإجراء عمليات منخفضة المستوى.
يتم توفير عمليات البت التالية في لغة ج:
& (منطقي و) - ينفذ منطقي قليلا ولكل زوج من البتات. ستكون النتيجة 1 فقط إذا كانت كلتا البتات تساوي 1.
/ (منطقي أو) - ينفذ منطقي بت أو لكل زوج من البتات. ستكون النتيجة 1 إذا كانت واحدة على الأقل من البتات هي 1.
^ (منطقي حصري أو) - ينفذ منطقي حصري أو لكل زوج من البتات. ستكون النتيجة 1 فقط إذا كان أحد البتات هو 1 والآخر هو 0.
~ (نفي البت) - يقلب كل بت من الرقم. 0 يصبح 1 ، و 1 يصبح 0.
> (التحول في اتجاه البت إلى اليمين) - ينقل كل بت من الرقم إلى اليمين بعدد محدد من المواضع. تمتلئ البتات المفقودة بالأصفار.
< < (التحول في اتجاه البت إلى اليسار) - ينقل كل بت من الرقم إلى اليسار بعدد محدد من المواضع. شغل المناصب الشاغرة مع الأصفار.
أمثلة على استخدام عمليات البت:
# تشمل
كثافة العمليات الرئيسية () {
غير موقعة إنت أ = 8 ؛ / / 00001000
غير موقعة الباحث ب = 3 ؛ / / 00000011
نتيجة كثافة العمليات غير الموقعة;
النتيجة = أ & ب; / / 00000000
برينتف ("نتيجة العملية أ & ب: ٪ ش
"،النتيجة);
النتيجة = أ / ب; // 00001011
printf("Результат операции a | b: %u
", result);
result = a ^ b; // 00001011
printf("Результат операции a ^ b: %u
", result);
result = ~a; // 11110111
printf("Результат операции ~a: %u
", result);
result = a >> 2; // 00000010
printf("Результат операции a >> 2: %u
| ", result); | result = a << 2; // 00100000 |
| printf("Результат операции a << 2: %u | ", result); |
return 0;
}
| Результат выполнения данной программы: | نتيجة عملية أ & ب: 0 | نتيجة عملية أ / ب: 11 |
| نتيجة العملية أ ^ ب: 11 | نتيجة العملية ~ج: 4294967287 | نتيجة العملية أ > > 2: 2 |
| نتيجة العملية أ < < 2: 32 | وبالتالي ، تسمح لك عمليات البت في لغة سي بمعالجة بتات فردية من الأرقام ، وهي أداة مفيدة عند العمل مع حقول البت وإجراء عمليات منخفضة المستوى. | |
| طريقة التحول وإخفاء | طريقة التحول والإخفاء هي إحدى الطرق الرئيسية لإخراج رقم في شكل ثنائي. يعتمد على استخدام عمليات تحويل البت وإخفاء البت. | |
| أولا ، تحتاج إلى الحصول على تمثيل ثنائي للرقم. للقيام بذلك ، يمكنك استخدام عملية تحويل البت إلى اليمين (>>) متبوعا بضرب البت (<<) بمقدار 1. | على سبيل المثال ، بالنسبة للرقم 9: |
الرقم
التمثيل الثنائي
9
00001001
بعد ذلك ، تحتاج إلى تطبيق عملية إخفاء البت (&) للحصول على البتات الفردية للرقم.
- الرقم
- النتيجة
- 00000001
- وبالتالي ، باستخدام عمليات تحويل البت وإخفاء البت ، من الممكن الحصول على تمثيل لرقم في نظام ثنائي. هذه الطريقة فعالة للغاية وتستخدم على نطاق واسع في البرمجة للعمل مع البيانات الثنائية.
- المكتبة القياسية ج (ستدليب.ح) يوفر مجموعة من الوظائف التي توفر التفاعل مع نظام التشغيل وإدارة الذاكرة وعمليات النظام الأخرى. في هذه المقالة ، سنلقي نظرة على بعض الوظائف التي توفرها هذه المكتبة وميزاتها الرئيسية.
التلاعب بالذاكرة
- يخصص كتلة ذاكرة بحجم محدد;
كالوك()
- يخصص قطعة من الذاكرة لمجموعة من الحجم المحدد;
- - يغير حجم الذاكرة المخصصة;
- - يحرر الذاكرة المخصصة سابقا باستخدام
- ,
- أو
ريالوك()
;
- - نسخ العدد المحدد من وحدات البايت من منطقة ذاكرة إلى أخرى.
- باستخدام وظائف من ستدليب.مكتبة ح ، يمكنك توليد أرقام شبه عشوائية. للقيام بذلك ، استخدم
- .
العمل مع الملفات
ستدليب.ح توفر المكتبة وظائف للعمل مع الملفات ، مثل فتح الملفات وقراءة/كتابة البيانات وإغلاق الملفات. بعض هذه الوظائف تشمل:
فوبين()
- يفتح ملف;
- فكلوس()
- - يغلق الملف;
- فريد()
- - يقرأ البيانات من ملف;
فوريت()
- يكتب البيانات إلى ملف.
إدارة العمليات
ستدليب.ح مكتبة يسمح لك بإدارة العمليات ، بما في ذلك تشغيل البرامج الخارجية وإنهاء العمليات والعمل مع وسيطات سطر الأوامر. بعض الوظائف المستخدمة لهذا الغرض هي:
النظام()
- ينفذ أمر برنامج خارجي;
خروج()
- إنهاء تنفيذ البرنامج;
جيتنف()
- يحصل على قيمة متغير البيئة.
هذه ليست سوى بعض من الوظائف المتاحة في ستدليب.مكتبة ح. كل واحد منهم له غرضه الخاص ويمكن أن يكون مفيدا في مواقف مختلفة. باستخدام هذه الوظائف ، يمكنك بسهولة إدارة الذاكرة والملفات والعمليات ، مما يسهل إلى حد كبير تطوير البرمجيات في اللغة ج.
الطريقة العودية
الطريقة العودية هي إحدى طرق إخراج رقم في شكل ثنائي في لغة ج. وهو يختلف عن الطريقة التكرارية في أنه يستخدم استدعاء دالة من نفسه.
لإخراج رقم في شكل ثنائي باستخدام الطريقة العودية ، يمكنك استخدام الخوارزمية التالية:
نتحقق مما إذا كان الرقم يساوي صفرا.
إذا كان الرقم صفرا ، فقم بإخراج صفر.
إذا لم يكن الرقم صفرا ، فإننا نسمي دالة إخراج الرقم في شكل ثنائي للرقم الذي تم الحصول عليه بقسمة الرقم الأصلي على اثنين (قسمة عدد صحيح).
بعد استدعاء دالة إخراج الرقم في شكل ثنائي للرقم الناتج ، نقوم بإخراج ما تبقى من قسمة الرقم الأصلي على اثنين (يمكن الحصول على باقي القسمة باستخدام عامل٪).
نموذج التعليمات البرمجية في ج:
المخزن المؤقت شار [20];
إيتوا(عدد ، العازلة ، 10);
برينتف ("رقم السلسلة: ٪ ق