i am doing Deitel's exercises from Chapter 3(structured program development in 
c). i can't write the code which will convert a binary number to decimal. but 
before it there was another exercise which wants the code of finding the 
palindrome( from book: a palindrome is a number or a text phrase that reads the 
same backwards as forwards.ex:12321, 34643...write a program that reads in a 
five digit integer and determines whether or not it is a palindrome.)
i wrote this code for this question;
/*palindrome*/
#include<stdio.h>

int main()
{
    int sayi, a, b, c, d, e, sayi2, end;
    printf("sayi gir : ");
    scanf("%d", &sayi);
    /*seperate the number into digits*/
    a=sayi/10000;
    b=(sayi%10000)/1000;
    c=(sayi%(10000*a+1000*b))/100;
    d=(sayi%(10000*a+1000*b+100*c))/10;
    e=(sayi%(10000*a+1000*b+100*c+10*d));
    
   
    /*calculate the backward of number*/
    printf("%d   %d   %d   %d   %d\n", a, b, c, d, e);
    sayi2=e*10000+d*1000+c*100+b*10+a;
    printf("the backwards of number=%d\n", sayi2);
    if(sayi==sayi2)
    printf("this is a palindrome\n");
    
   
   
   scanf("%d", &end);
}



so i have wanted to solve 'binary to decimal' on same logic.

/*BINARY TO DECIMAL*/
#include<stdio.h>

int main()
{
    int sayi, a, b, c, end;
    
    while(a!=-1)
    {
    printf("a binary number= ");
    scanf("%d", &sayi);
    /*find the number of digits*/
    c=0;
    b=10;
    while(a!=sayi)
       {
         a=sayi%b;
         b=b*10;
         ++c;
         printf("%d\n", c);
         
    
       }
     printf("the number have %d digits \n", c);
      
             
}
    scanf("%d", &end);
    
}

that's all :( i can not go on to how i will convert it to decimal after i find 
the number of digits...

that's my question.
best regards


Reply via email to