Language%20in%20C%20Interview%20Questions%20and%20Answers
Question: How do I write a program to convert a string containing number in a hexadecimal form to its equivalent decimal?
Answer: The following program demonstrates this:main( ) { char str[] = "0AB" ; int h, hex, i, n ; n = 0 ; h = 1 ; for ( i = 0 ; h == 1 ; i++ ) { if ( str[i] >= '0' && str[i] <= '9' ) hex = str[i] - '0' ; else { if ( str[i] >= 'a' && str[i] <= 'f' ) hex = str[i] - 'a' + 10 ; else if ( str[i] >= 'A' && str[i] <= 'F' ) hex = str[i] - 'A' + 10 ; else h = 0 ; } if ( h == 1 ) n = 16 * n + hex ; } printf ( "nThe decimal equivalent of %s is %d", str, n ) ; } The output of this program would be the decimal equivalent of 0AB is 171. |
Is it helpful?
Yes
No
Most helpful rated by users:
- What will be the output of the following code?
void main ()
{ int i = 0 , a[3] ;
a[i] = i++;
printf ("%d",a[i]) ;
} - Why doesn't the following code give the desired result?
int x = 3000, y = 2000 ;
long int z = x * y ; - Why doesn't the following statement work?
char str[ ] = "Hello" ;
strcat ( str, '!' ) ; - How do I know how many elements an array can hold?
- How do I compare character data stored at two different memory locations?