0

Hi Hi Hi
this solution is inverse of other solution that changed Decimal number to hexadecimal . It changes hexadecimal number to Decimal !
There is the other way to change characters to numbers.

Good Luck!

//16Radix number to Decimal
//Programming by : Erfan Nasoori
//Mail : ketn68@yahoo.com
//Date of send : 2009/1/9

#include<iostream.h>
#include<string.h>
#include<math.h>
#include<conio>
void main()
{
	int k=-1,j,i;
	double sum=0 ;
	int x[20];
	char hexa[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	char s[20];
	cout<<"Number in 16 radix : ";
	cin>>s;
    for(i=0 ; s[i] ; ++i)
   	if(s[i] >= 'a'  &&  s[i] <= 'z')
         s[i] -= 32;

	for(i=0 ; s[i] ; ++i)
		for(j=0 ; j<16 ; ++j)
		if(s[i] == hexa[j])
		{
		 x[++k]=j;
		}

	int y=strlen(s);
	for( i=(y-1) ,j=0 ; i>=0 ; --i , ++j)
	{
		sum += (pow(16,i)*x[j]);
		}
		cout<<"--------------------------------------------------"<<endl;

	cout<<"Radix 10 = "<<sum;
   getch();
}
2
Contributors
2
Replies
3
Views
8 Years
Discussion Span
Last Post by sahasrara
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.