Converting from decimal to hexadecimal

how can i convert a decimal number to a hexadecimal number.
raqadiAsked:
Who is Participating?
 
GEliyahuConnect With a Mentor Commented:
Or....


#include <iostream.h>


    void digittohex(int n){
    if (n < 10)
    cout << n;


        else{
        if (n == 10)
        cout << "A";
        if (n == 11)
        cout << "B";
        if (n == 12)
        cout << "C";
        if (n == 13)
        cout << "D";
        if (n == 14)
        cout << "E";
        if (n == 15)
        cout << "F";
    }
}


    void decimaltohex(int n){


        if (n >= 0 && n < 256){
        digittohex(n / 16);
        digittohex(n % 16);
    }
}


    int main(){
    int n;
    cin >> n;
    decimaltohex(n);
    cout << endl;
    return 0;
}
 

 
0
 
rpatnaCommented:
hi  raqadi,
following are my solution, if this solution not match with your question then plz. clear the question.
solution 1.
char hexaNo[10];
sprintf(hexaNo,"%x",n); // where n is Decimal no.

solution 2.
char hextable[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
#define TOHEX(a, b)    
       {*b++ = hextable[a >> 4];*b++ = hextable[a&0xf];}

solution 3.

char hexatable[]={'0','1','2','3','4',
             '5','6','7','8','9','A','B','C','D','E','F'};
int n;
char hexaNo[10];
scanf("%d",&n);
while(n)
{
     hexaNo[i]=hexatable[n%16];
      n = n/16;
}
printf("hexa no = %s",hexaNo);


0
 
GEliyahuCommented:
This will explains you everything...
check it out..
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3209&lngWId=3
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
GEliyahuCommented:
Or....


#include <iostream.h>


    void digittohex(int n){
    if (n < 10)
    cout << n;


        else{
        if (n == 10)
        cout << "A";
        if (n == 11)
        cout << "B";
        if (n == 12)
        cout << "C";
        if (n == 13)
        cout << "D";
        if (n == 14)
        cout << "E";
        if (n == 15)
        cout << "F";
    }
}


    void decimaltohex(int n){


        if (n >= 0 && n < 256){
        digittohex(n / 16);
        digittohex(n % 16);
    }
}


    int main(){
    int n;
    cin >> n;
    decimaltohex(n);
    cout << endl;
    return 0;
}
 

 
 
Report Bad Submission
Use this form to notify us if this entry should be deleted (i.e contains no code, is a virus, etc.).
Reason:  
 
Your Vote!

What do you think of this code(in the Beginner category)?
(The codewith your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor    
See Voting Log  
 
Other User Comments

 There are no comments on this submission.
 
 
Add Your Feedback!
Note:Not only will your feedback be posted, but an email will be sent to the code's author in your name.

NOTICE: The author of this code has been kind enough to share it with you.  If you have a criticism, please state it politely or it will be deleted.

For feedback not related to this particular code, please click here.
   
   Name:  
Comment:  
 

 
0
 
rpatnaCommented:
hi GEliyahu

what u written in the last of second comment?
can i know ur mail-id plz?
0
 
GEliyahuCommented:
first..
ignore pls the second comment...
just reffer to the third one..

second..
what is a mail-id?
you wants my E-mail?


0
 
rpatnaCommented:
yes plz.
0
 
GEliyahuCommented:
geliyahu@hotmail.com
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.