示例#1
0
 int powe(int i,int j)					//power function
	{
	if (j=0)
		return (1);
	else
		return (i*powe(i,j-1));
	}
示例#2
0
int eval(node *head)
 {
  node *p;
  int x,ans=0;
  printf("\n\nEnter the value of x=");
  scanf("%d",&x);
  p=head->next;
  do
   {
     ans=ans+p->coef*powe(x,p->expo);
     p=p->next;
   }while(p!=head->next);
    return(ans);
 }
示例#3
0
         void main()
         {
	         DDRB=0xFF;
	         int i,j,k,p=0;
	         j=1;

	         while(1)
	         {
		         for(i=7;i>=0;i--)
		         {
			         for(k=0;k<=i;k++)
			         {
				         PORTB=p+(1<<k);
				         wait(.5);
			         }
			       p=p+powe(i);  
		         }
		         p=0;
	         }
         }
int main(int argc, char *argv[])
{
 int b1=atoi(argv[1]);
 int b2=atoi(argv[2]);
 int l=strlen(argv[3]);
 int i,k;
 int n[l];
 int flag=0;
 long long int s=0;
 int x,y,z=0,h,t=0;

if ((b1==b2) && (b1==2 || b1==8 || b1==10))
{
 x=atoi(argv[3]);
 y=x;
  while(y!=0)
  {
   z++;
   h=y%10;
   y=y/10;
  if(h<b1)
  t++;
  }
  if(z==t)
  {
   printf("%s\n",argv[3]);
   return 0;}
  else
  {  
   printf("0");
   return 0;}
  }
  else if((b1==b2) && b1==16)
  {
  for(z=0;argv[3][z]!=0;z++)
  {
  if((argv[3][z]>=48 && argv[3][z]<=57) || (argv[3][z]>=65 && argv[3][z]<=70))
  t++;
}
   if(z==t)
   {
   printf("%s",argv[3]);
   return 0;
   }
   else 
   {
   printf("0");
   return 0;
   }
}
for (i=0;i<l;i++)
{
    k=argv[3][i];    

    if (k>=48&&k<=57)
  {
      k=k-48;
  }
    else if (k>=65&&k<=70)
  {
      k=(k-55);
  }
      n[i]=k;
}
 

for (i=0;i<l;i++)
{
    if (n[i]>=0 && n[i]<=b1-1)
    {
     continue;
    }
    else
    {
     flag=1;
     break;
    }
}


if(flag==1)
{
    printf("0");
}
else
{
    for (i=0;i<l;i++)
{
    s=s+n[i]*powe(b1,l-i-1);
}
}//conversion from one to the other databases


long long int p=1;int c=0;
int r;


while(p<s)
 {
  p=p*b2;
  c++;
 } 
//to know how many times loop will run

char m[c];
c=c-1;
p=c;

while(s!=0)
{
  r=s%b2;
  s=s/b2;
//r stores the remainder values

 if (r>=0 && r<=9)
  {
  m[c--]=r+48;
  }
 else if (r>=10&&r<=15)
  {
    m[c--]=r+55;
  }
}
   for(c=0;c<=p;c++) 
	putchar(m[c]);
   return 0;
}
int main(int argc,char *argv[])
{
    int b1,b2,i,j,l,k;
    char *num[1];
    char num_str[20];
    int num_deci=0;
    b1=atoi(argv[1]);
    b2=atoi(argv[2]);
    num[0]=argv[3];
    
    l=strlen(num[0]);
    
    
  
    if(b1==2){
       for(i=0;i<l;i++){
           if(num[0][i]!=49&&num[0][i]!=48){
               printf("0");
               exit(1);
           }}
        
        for(i=0;i<l;i++){
            num_deci=num_deci+((num[0][i]-48)*powe(2,l-1-i));
        }
    }
    else if(b1==16){
        for(i=0;i<l;i++){
           if((num[0][i]>=48 && num[0][i]<=57) || (num[0][i]>=65 && num[0][i]<=70))
{}
else
{printf("0");
return 0;
}
         }  
        
        for(i=0;i<l;i++){
            if(num[0][i]>57){
                num_deci=num_deci+((num[0][i]-55)*powe(16,l-1-i));;
            }
             else{num_deci=num_deci+((num[0][i]-48)*powe(16,l-1-i));}
        }
    }
    else if(b1==8){
        for(i=0;i<l;i++){
           for(j=48;j<=55;j++){
             if(num[0][i]==j){
               break;
             }
           }
         if(j==56){
             printf("0");
             exit(3);}
         } 
        for(i=0;i<l;i++){
            num_deci=num_deci+((num[0][i]-48)*powe(8,l-1-i));
        }
    }
    else{
         for(i=0;i<l;i++){
           for(j=48;j<=57;j++){
             if(num[0][i]==j){
               break;
             }
           }
         if(j==58){
             printf("0");
             exit(1);}
         } 
        
        for(i=0;i<l;i++){
            num_deci=num_deci+((num[0][i]-48)*powe(10,l-1-i));
        }
    }
   //printf("%d",num_deci);

    if(b2==10){
        printf("%d",num_deci);
    }
    else if(b2==2){
        i=0;
        num_str[0]=num_deci%2+48;
        i++;
        while(num_deci>=2){
            num_deci=num_deci/2;
            num_str[i]=num_deci%2+48;
            
            i++;
        }
        for(j=i-1;j>=0;j--){
            printf("%c",num_str[j]);
        }

    }
    
    
    
    else if(b2==8){
        num_str[0]=num_deci%8+48;
        i=1;
        while(1){

            num_deci=num_deci/8;
            num_str[i]=num_deci%8+48;
            if(num_deci<8){
                break;
            }
            i++;

            }
        for(j=i;j>=0;j--){
            printf("%c",num_str[j]);
        }
    }
    else{
        num_str[0]=num_deci%16+48;
        if(num_str[0]>57){
                num_str[0]=num_str[0]+7;
        }
        i=1;
        while(1){

            num_deci=num_deci/16;
            num_str[i]=num_deci%16+48;
            if(num_str[i]>57){
                num_str[i]=num_str[i]+7;
        }
            if(num_deci<16){
                break;
            }
            i++;

            }
        for(j=i;j>=0;j--){
            printf("%c",num_str[j]);
        }
    }


    return 0;
}