convert decimal to hexadecimal number

  • Thread starter sweeet_addiction16
  • Start date
S

sweeet_addiction16

hello
Im writin a code in c...
can sum1 pls help me out in writing a c code to convert decimalnumber
to hexadecimal number.The hexadecimal number generated has to be an
unsigned long.
 
R

Richard Heathfield

(e-mail address removed) said:
hello
Im writin a code in c...
can sum1 pls help me out in writing a c code to convert decimalnumber
to hexadecimal number.The hexadecimal number generated has to be an
unsigned long.

Numbers don't have bases. Number /representations/ have bases.

It sounds to me like you wish to accept a textual representation in base
ten of an integer, and present that integer's value using a base
sixteen representation. Look up fgets (to capture the data as a
string), strtoul (to convert it to an unsigned long integer), and
printf (to display it in a base sixteen representation). You will find
the %lX format specifier helpful.
 
S

santosh

hello
Im writin a code in c...
can sum1 pls help me out in writing a c code to convert decimalnumber
to hexadecimal number.The hexadecimal number generated has to be an
unsigned long.

If your number is already in a numeric variable, just use sprintf or printf
or fprintf to convert to hexadecimal representation. The relevant format
specifier is lx. For example.

unsigned int num = 10;
printf("%lx\n", num);

If your number is still in a textual form, then you can use sscanf or
strtoul to convert it into a numeric value and then use the method above to
print it out in hexadecimal.
 
S

sweeet_addiction16

(e-mail address removed) said:


Numbers don't have bases. Number /representations/ have bases.

It sounds to me like you wish to accept a textual representation in base
ten of an integer, and present that integer's value using a base
sixteen representation. Look up fgets (to capture the data as a
string), strtoul (to convert it to an unsigned long integer), and
printf (to display it in a base sixteen representation). You will find
the %lX format specifier helpful.

--
Richard Heathfield <http://www.cpax.org.uk>
Email: -www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999



Im sry may be i didnot frame the question properly..i need to accept
an integer value(decimal) and then after converting it into
hexadecimal value i need to write it into a file.i do not need to
print it..so using fprintf along with %lx would not help me.for eg..if
i have a decimal value of 60 to be passed to a function ..i need that
function to convert it into hexadecimal value(eg 3c) and then write it
into a file
 
S

sweeet_addiction16

If your number is already in a numeric variable, just use sprintf or printf
or fprintf to convert to hexadecimal representation. The relevant format
specifier is lx. For example.

unsigned int num = 10;
printf("%lx\n", num);

If your number is still in a textual form, then you can use sscanf or
strtoul to convert it into a numeric value and then use the method above to
print it out in hexadecimal.

Im sry may be i didnot frame the question properly..i need to accept
an integer value(decimal) and then after converting it into
hexadecimal value i need to write it into a file.i do not need to
print it..so using fprintf along with %lx would not help me.for eg..if
i have a decimal value of 60 to be passed to a function ..i need that
function to convert it into hexadecimal value(eg 3c) and then write it
into a file
 
T

Thad Smith

Im sry may be i didnot frame the question properly..i need to accept
an integer value(decimal) and then after converting it into
hexadecimal value i need to write it into a file.

When Richard said "numbers don't have bases", it means that there is no
such thing as a hexadecimal value.
i do not need to
print it..so using fprintf along with %lx would not help me.for eg..if
i have a decimal value of 60 to be passed to a function ..i need that
function to convert it into hexadecimal value(eg 3c) and then write it
into a file

Formatting a number in hexadecimal and writing to a file is what fprintf
will do, using a %lx format specifier.
 
K

Keith Thompson

(e-mail address removed) writes:
[...]

Please don't quote signatures (the part of the article following the
"-- " delimiter).
Im sry may be i didnot frame the question properly..i need to accept
an integer value(decimal) and then after converting it into
hexadecimal value i need to write it into a file.i do not need to
print it..so using fprintf along with %lx would not help me.for eg..if
i have a decimal value of 60 to be passed to a function ..i need that
function to convert it into hexadecimal value(eg 3c) and then write it
into a file

When you say you want to write the hexadecimal value 3c to a file, do
you mean that you want the file to contain the characters '3' and 'c',
or do you want the actual raw non-textual value written to a file?

The latter is referred to as "binary", not hexadecimal. The term
hexadecimal refers only to a textual representation that uses the
digits '0'..'9' and the letters 'a'..'f' (or 'A'..'F'). (Binary data
is often displayed in hexadecimal, which leads some people to think
that it *is* hexadecimal, but it isn't; the process of displaying it
requires a conversion from one form to another.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top