# convert decimal to hexadecimal number - C

This is a discussion on convert decimal to hexadecimal number - C ; 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....

1. ## convert decimal to hexadecimal number

hello
Im writin a code in c...
can sum1 pls help me out in writing a c code to convert decimalnumber
unsigned long.

2. ## Re: convert decimal to hexadecimal number

> hello
> Im writin a code in c...
> can sum1 pls help me out in writing a c code to convert decimalnumber
> 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

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

3. ## Re: convert decimal to hexadecimal number

> hello
> Im writin a code in c...
> can sum1 pls help me out in writing a c code to convert decimalnumber
> 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

4. ## Re: convert decimal to hexadecimal number

On Sep 2, 5:12 pm, Richard Heathfield <r...@see.sig.invalid> wrote:
>
> > 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.
>
> --
> Richard Heathfield <http://www.cpax.org.uk>
> Email: -www. +rjh@
> "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

5. ## Re: convert decimal to hexadecimal number

On Sep 2, 6:32 pm, santosh <santosh....> wrote:
> > 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.

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

6. ## Re: convert decimal to hexadecimal number

> On Sep 2, 5:12 pm, Richard Heathfield <r...@see.sig.invalid> wrote:
>>
>>> hello
>>> Im writin a code in c...
>>> can sum1 pls help me out in writing a c code to convert decimalnumber
>>> 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.

>
> 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.

--

7. ## Re: convert decimal to hexadecimal number

[...]

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