```
//sum of 2 numbers in 16 radix
//programming by : Erfan Nasoori
//Mail : ketn68@yahoo.com
//Date of send 2009/1/9
#include <iostream.h>
#include <conio>
void main()
{
int x,x1,y,y1,i;
int d,n=1,m=1;
int *r1,*r2,*sum;
char h[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
cout<<"Enter x="; cin>>x; x1=x;
cout<<"Enter y="; cin>>y; y1=y;
while(x >= 10)
{
x/=10;
++n;
}
r1=new int[n];
while(y >= 10)
{
y/=10;
++m;
}
r2=new int[m];
int max;
if( n>= m)
max=n;
else
max=m;
sum=new int[max+1];
for(i=0 ; x1 >= 16 ; ++i)
{
r1[i] = x1 % 16;
x1 /= 16;
}
r1[i++] = x1;
for(i=0 ; y1 >= 16 ; ++i)
{
r2[i]= y1 % 16;
y1 /= 16;
}
r2[i++] = y1;
cout<<"x in 16 radix = ";
for(i=(n-1) ; i>=0 ; --i)
cout<<h[r1[i]];
cout<<"\ny in 16 radix = ";
for(i=(m-1) ; i>=0 ; --i)
cout<<h[r2[i]];
int t=0;
for(i=0 ; i<max ; ++i)
{
sum[i]=(r1[i] + r2[i] + t) % 16;
t = (r1[i] + r2[i]) / 16;
}
cout<<"\nsum in y , x 16 radix = ";
for(i=(max-1) ; i>=0 ; --i)
cout<<h[sum[i]];
getch();
}
```

1

Contributor0

Replies1

Views
Recommended Topics