Binary arithmatic #include #include #include #include void b_to_d(char result[]); //binary to decimal void d_to_b(int dec,char binary[]); // decimal to binary main() { int ch,n1,n2,i=0,j,k,l,carry,r,x1,x2,x; char bn1[30],bn2[30],result[30],binary[30]; char multi[30][30]; clrscr(); do { printf("<1> input first operand \n"); printf("<2> input second operand \n"); printf("<3> binary addition \n"); printf("<4> binary subtraction \n"); printf("<5> binary multiplation \n"); printf("<6> result to decimal \n"); printf("<7> Exit \n\n"); do { printf("enter your choice "); scanf("%d",&ch); }while(ch>7 || ch<1); switch (ch) { case 1: printf("\n input first operand "); scanf("%d",&n1); x1=n1; d_to_b(n1,binary); for(i=0;binary[i]!='\0';++i) bn1[i]=binary[i]; bn1[i]='\0'; break; case 2: printf("\n input second operand "); scanf("%d",&n2); x2=n2; d_to_b(n2,binary); for(i=0;binary[i]!='\0';++i) bn2[i]=binary[i]; bn2[i]='\0'; break; case 3: //addition for(i=0;i<30;++i) //reset result result[i]='\0'; carry=0; if(strlen(bn1)1) carry=1; else carry=0; if(carry==1) result[i+1]=carry+48; } printf("\n%s\n",strrev(result)); break; case 4: //subtraction for(i=0;i<30;++i) //reset result result[i]='\0'; carry=0; if(strlen(bn1)1) multi[0][i+1]+=((multi[0][i]-(multi[0][i]%2))/2); printf("\n"); for(i=29;i>=0;--i) // excluding first zero's (0's) of array if(multi[0][i]!=0) break; j=0; for(;i>=0;--i) // final calculations and print if(multi[0][i]<48) { multi[0][i]%=2; result[j++]=multi[0][i]+48; // printf("%d",multi[0][i]); } printf("\n"); printf("%s\n",result); break; case 6: //result in decimal b_to_d(result); printf("\n"); break; } n1=x1; d_to_b(n1,binary); for(i=0;binary[i]!='\0';++i) bn1[i]=binary[i]; bn1[i]='\0'; n2=x2; d_to_b(n2,binary); for(i=0;binary[i]!='\0';++i) bn2[i]=binary[i]; bn2[i]='\0'; }while(ch!=7); printf("\n\n i will wait for your mails"); getch(); return 0; } void b_to_d(char result[]) //binary to decimal { short int i; long int dec=0; strrev(result); for(i=0;i0) { binary[i++]=dec%2+48; binary[i]='\0'; dec-=(dec%2); dec/=2; } }