int powe(int i,int j) //power function { if (j=0) return (1); else return (i*powe(i,j-1)); }
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); }
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; }