עזרה בשפת c - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה בשפת c


Sagi Shnek

Recommended Posts

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

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


#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 כמו שאני מקבל עכשיו?

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...