עבור לתוכן

עזרה בשפת c

Featured Replies

פורסם

היי לכולם חג שמח.

אני רוצה לכתוב תוכנית שתמיר ממספר בינארי למספר דציאלי ודצימלי להקסדצימלי.


#include<stdio.h>
int main()
{
long long int num_b,j=1,sherit,num_d=0;


printf("please enter binary number <consist of 1 and 0>: ");
scanf("%lld",&num_b);
while(num_b!=0){
sherit=num_b%10;
num_d = num_d +sherit *j;
j=j*2;
num_b=num_b/10;
}

התחלתי לרשום תוכנית שממירה מבינארי לדצימלי.

מדיצמלי להקסדצימאלי חשבתי להשתמש ב switch אבל משום מה התוכנית לא מגיבה לקלטים שהכנסתי. אשמח ליעוצים והכוונות.

פורסם
  • מחבר

#include<stdio.h>
int main()
{
long long int num_b,j=1,r,num_d=0;

printf("please enter binary number <consist of 1 and 0>: ");
scanf("%lld",&num_b);
while(num_b!=0){
r=num_b%10;
num_d = num_d +r *j;
j=j*2;
num_b=num_b/10;
}
if(num_d==10)
printf("A");
else if(num_d==11)
printf("\n the hex value is:B");
else if(num_d==12)
printf("\n the hex value is:C");
else if(num_d==13)
printf("\n the hex value is:D");
else if(num_d==14)
printf("\n the hex value is:E");
else if(num_d==15)
printf("\n the hex value is:F");
else
printf("%lld",num_d);
}

אוקי כתבתי את זה ובאמת כאשר אני רושם 1111 הפלט הוא F.

איך אני מגדיר כשאני אכניס 11111111 זה יהיה F ולא 255 כמו שאני מקבל עכשיו?

פורסם

אתה צריך ללמוד איך מפרקים מספר לספרות שלו. תחשוב על אלגוריתם שמדפיס את המספר שלך ספרה אחר ספרה (בבסיס עשרוני). אחר כך תחשוב איזה שינוי צריך לעשות לאלגוריתם כדי שיעבוד בבסיס הקסדצימלי.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים