convert long long integer to string using sprintf

  • Follow


what is format for sprintf to convert long long integer (64 bits) to
string?

0
Reply wenmang (87) 6/13/2006 10:11:54 PM

wenmang@yahoo.com writes:

> what is format for sprintf to convert long long integer (64 bits) to
> string?

The format for "long long" is %lld (or %llx etc.).  Keep in mind
though, that a long long is not necessarily 64 bits.  If you
specifically need 64 bits, use the types defined in stdint.h and the
format macros in inttypes.h.

-- 
M�ns Rullg�rd
mru@inprovide.com
0
Reply iso 6/13/2006 11:06:23 PM


wenmang@yahoo.com wrote:
> what is format for sprintf to convert long long integer (64 bits) to
> string?
> 
You could look it up? If int is %d and long is %ld could it be %lld ?
Just guessing. I haven't looked it up.

-- 
Joe Wright
"Everything should be made as simple as possible, but not simpler."
                     --- Albert Einstein ---
0
Reply Joe 6/14/2006 12:04:22 AM

M�ns Rullg�rd <mru@inprovide.com> writes:
> wenmang@yahoo.com writes:
>> what is format for sprintf to convert long long integer (64 bits) to
>> string?
>
> The format for "long long" is %lld (or %llx etc.).  Keep in mind
> though, that a long long is not necessarily 64 bits.  If you
> specifically need 64 bits, use the types defined in stdint.h and the
> format macros in inttypes.h.

And keep in mind that your runtime library's version of sprintf()
might not support "%lld".  Mismatches between a compiler and the
runtime library it uses (for example, where the compiler supports
"long long", but sprintf() doesn't) are not uncommon.

Some older versions of sprintf() *might* use "%Ld" rather than "%lld".

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center             <*>  <http://users.sdsc.edu/~kst>
We must do something.  This is something.  Therefore, we must do this.
0
Reply Keith 6/14/2006 12:07:16 AM

Joe Wright wrote:
> wenmang@yahoo.com wrote:
>> what is format for sprintf to convert long long integer (64 bits) to
>> string?
>>
> You could look it up? If int is %d and long is %ld could it be %lld ?
> Just guessing. I haven't looked it up.
> 
Hmm, and since %f is used to printf() a double, I can use %f to scanf() a 
double, right?

Looking it up (or, indeed, asking in an ng) nearly always beats trying the 
obvious if the language wasn't specifically designed to accommodate that. C 
definitely isn't.

S.
0
Reply Skarmander 6/14/2006 6:00:45 PM

Skarmander <invalid@dontmailme.com> writes:

> Joe Wright wrote:
>> wenmang@yahoo.com wrote:
>>> what is format for sprintf to convert long long integer (64 bits) to
>>> string?
>>>
>> You could look it up? If int is %d and long is %ld could it be %lld ?
>> Just guessing. I haven't looked it up.
>>
> Hmm, and since %f is used to printf() a double, I can use %f to
> scanf() a double, right?

Wrong.  With scanf %f denotes a float, and %lf denotes a double.  This
difference is because the arguments to printf are subject to type
promotion, so any float arguments are converted to double.  The
arguments to scanf are pointers, so there is a need to differentiate
between pointer to float and pointer to double.

-- 
M�ns Rullg�rd
mru@inprovide.com
0
Reply iso 6/14/2006 6:15:45 PM

M�ns Rullg�rd wrote:
> Skarmander <invalid@dontmailme.com> writes:
> 
>> Joe Wright wrote:
>>> wenmang@yahoo.com wrote:
>>>> what is format for sprintf to convert long long integer (64 bits) to
>>>> string?
>>>>
>>> You could look it up? If int is %d and long is %ld could it be %lld ?
>>> Just guessing. I haven't looked it up.
>>>
>> Hmm, and since %f is used to printf() a double, I can use %f to
>> scanf() a double, right?
> 
> Wrong.  With scanf %f denotes a float, and %lf denotes a double.  This
> difference is because the arguments to printf are subject to type
> promotion, so any float arguments are converted to double.  The
> arguments to scanf are pointers, so there is a need to differentiate
> between pointer to float and pointer to double.
> 
You're ruining my fun.

For those who were enlightened by the above, read the FAQ at 
http://www.c-faq.com as well. It covers the above and much more.

S.
0
Reply Skarmander 6/14/2006 9:02:29 PM

M=E5ns Rullg=E5rd wrote:
> wenmang@yahoo.com writes:
>
> > what is format for sprintf to convert long long integer (64 bits) to
> > string?
>
> The format for "long long" is %lld (or %llx etc.).  Keep in mind
> though, that a long long is not necessarily 64 bits.

It is at least 64 bits to be precise.

The New C Standard by Derek M. Jones
<q>
The C compiler for the Unisys e-@ction Application Development
Solutions (formerly known as the Universal Compiling System, UCS)[1331]
has 9-bit character types- 18-bit short, 36-bit int and long, and
72-bit long long.
</q>

0
Reply Maxim 6/15/2006 7:50:07 AM

7 Replies
430 Views

(page loaded in 0.082 seconds)

5/23/2013 8:01:13 PM


Reply: