سؤال عن الـ Binary في الـ C

تم تحميل الصفحة في 1,2721394 ثانية
سؤال عن الـ Binary في الـ C

عـبـدالـله

.:: أبو مـحـمـد ::.
rankrankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
2,339
الإعجابات
3,100
النقاط
198
السلام عليكم ورحمة الله وبركاته

قمت بعمل كود بسيط عملية تكرار وتحويل الارقام اما الى char او oct او hex

الآن انا اريد تحويله الى binary هل اقوم بعملية القسم مثل i % 2 وعرض الناتج .؟

هذا الكود الي قمت بعمله

هذا لعرض الـ char

C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    unsigned int i;

    const int EndBegin = 100;

    while(i != 0){

        printf("%c\t",i);

            for(unsigned int Begin=1; Begin <= EndBegin; Begin++)
                {
                 i = (rand() / (Begin+EndBegin));
                }
        }

    printf("\n\nFinish Loop");

    getch();
    return 0;
}


هذا لعرض oct

C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    unsigned int i;

    const int EndBegin = 100;

    while(i != 0){

        printf("%o\t",i);

            for(unsigned int Begin=1; Begin <= EndBegin; Begin++)
                {
                 i = (rand() / (Begin+EndBegin));
                }
        }

    printf("\n\nFinish Loop");

    getch();
    return 0;
}
هذا لعرض الـ hex


C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    unsigned int i;

    const int EndBegin = 100;

    while(i != 0){

        printf("%x\t",i);

            for(unsigned int Begin=1; Begin <= EndBegin; Begin++)
                {
                 i = (rand() / (Begin+EndBegin));
                }
        }

    printf("\n\nFinish Loop");

    getch();
    return 0;
}
الآن المطلوب عرض الـ binary

هذا المثال المطلوب لكن اعتقد العملية الحسابية ربما غلط .؟

C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    unsigned int i;

    const int EndBegin = 100;

    while(i != 0){

        printf("%i\t",i%2);

            for(unsigned int Begin=1; Begin <= EndBegin; Begin++)
                {
                 i = (rand() / (Begin+EndBegin));
                }
        }

    printf("\n\nFinish Loop");

    getch();
    return 0;
}

بستطاعتي التعامل مع العملية بشكل اسهل عن طريق الحاسبة الخاصه بالكمبيوتر وعرض النتيجه من Binary الى char مثال بسيط

C:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    int a = 0b1000001;
    printf("%c",a);
    getch();
    return 0;
}

المطلوب هوا الكود البرمجي الخاص بالـ For يعرض لي ناتجه binary



انا وضعت هذا كله حتى لا اريد شخص يتفلسف عليه اقفل باب الفلسفه الزايده ههه
والمطلوب فقط التصحيح هل العمليه الرياضية صحيحه ام لا .!


وشكرآ
 
إنضم
27 ديسمبر 2006
المشاركات
2,371
الإعجابات
1,524
النقاط
113
وعليكم السلام ورحمه الله وبركاته،

بصراحة ما فهمت بالضبط المطلوب بس اذا تقصد التحويل من رقم الى binary هذا كود بسيط لكن بالـ c++ ممكن يفيدك :

كود:
#include <iostream>
using namespace std;
int main() {
   
int number_2_binary = 156;
   
while (number_2_binary !=0 && number_2_binary > 0)
{
    cout << number_2_binary << "    " << number_2_binary % 2 << endl;
    number_2_binary = number_2_binary / 2;
   
}
   
    return 0;
}
كله ما في الامر القسمه على اثنين ومعرفه الباقي.



كود آخر بإستخدام for loop:
كود:
#include <iostream>
using namespace std;
int main() {
   
    for (int i = 156; (i != 0 && i >0); i = i/2)
        {
            cout << i << "    " << i % 2 << endl;

        }
   
    return 0;
}
حاس انه لا يفي بالغرض بس قلت اعطي فكرة :15:

مصدر
 
إنضم
27 ديسمبر 2006
المشاركات
2,371
الإعجابات
1,524
النقاط
113
وعليكم السلام ورحمه الله وبركاته،

بصراحة ما فهمت بالضبط المطلوب بس اذا تقصد التحويل من رقم الى binary هذا كود بسيط لكن بالـ c++ ممكن يفيدك :

كود:
#include <iostream>
using namespace std;
int main() {
  
int number_2_binary = 156;
  
while (number_2_binary !=0 && number_2_binary > 0)
{
    cout << number_2_binary << "    " << number_2_binary % 2 << endl;
    number_2_binary = number_2_binary / 2;
  
}
  
    return 0;
}
كله ما في الامر القسمه على اثنين ومعرفه الباقي.



كود آخر بإستخدام for loop:
كود:
#include <iostream>
using namespace std;
int main() {
  
    for (int i = 156; (i != 0 && i >0); i = i/2)
        {
            cout << i << "    " << i % 2 << endl;

        }
  
    return 0;
}
حاس انه لا يفي بالغرض بس قلت اعطي فكرة :15:

مصدر
نسيت حاجة: الناتج يكون بالمعكوس يعني استخدم طريقتك الخاصة لعكس الناتج :)
 

عـبـدالـله

.:: أبو مـحـمـد ::.
rankrankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
2,339
الإعجابات
3,100
النقاط
198
نسيت حاجة: الناتج يكون بالمعكوس يعني استخدم طريقتك الخاصة لعكس الناتج :)
الكود الخاص بي نفس النتيجه التي وضعتها

يعني طريقتي صحيحه في التحويل وهذا المطلوب .

بارك الله فيك اخي العزيز اشكرك على الرد .

احب استرجع اي لغة برمجية اذا نسيت امور فيها بهذي الطريقه اول ما اقوم به هوا التحويل بين الارقام والاحرف والهيكس والأوكت والبيناري .

ثم يشتغل المخ واتذكر امور اخرى :)


شاكرلك اخي العزيز
 
إنضم
27 ديسمبر 2006
المشاركات
2,371
الإعجابات
1,524
النقاط
113
الكود الخاص بي نفس النتيجه التي وضعتها

يعني طريقتي صحيحه في التحويل وهذا المطلوب .

بارك الله فيك اخي العزيز اشكرك على الرد .

احب استرجع اي لغة برمجية اذا نسيت امور فيها بهذي الطريقه اول ما اقوم به هوا التحويل بين الارقام والاحرف والهيكس والأوكت والبيناري .

ثم يشتغل المخ واتذكر امور اخرى :)


شاكرلك اخي العزيز
ملفك مغلق، ليش ؟ ههههه
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل