64 bit C question
Jerry Feldman
gaf at blu.org
Wed Feb 18 07:43:20 EST 2009
On 02/17/2009 05:30 PM, bruce.labitt at autoliv.com wrote:
> Is there some way to to compile a C or C++ program that will output a
> 64bit hex value correctly? This is what I have so far...
>
In C++:
#include <iostream>
#include<cmath>
int main()
{
long int N;
long long NN;
N = (long int) pow(2.0, 31.0); // 2**31 =
2*1024*1024*1024 = 2G
NN = (long long) pow(2.0, 32.0); // 2**32 = 4G == dreaded
32 bit boundary
std::cout << "long int N = " << std::hex << N << "\n"
<< "long long NN = " << std::hex << NN << std::endl;
return 0;
}
In the above, any leading zeroes will be suppressed.
Another note that <cmath> is C++, and <math.h> is C.
I don't recall off the top of my head if the second std::hex is needed.
Some manipulators work only for the next conversion, some work until
changed.
--
Jerry Feldman <gaf at blu.org>
Boston Linux and Unix
PGP key id: 537C5846
PGP Key fingerprint: 3D1B 8377 A3C0 A5F2 ECBB CA3B 4607 4319 537C 5846
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
Url : http://mail.gnhlug.org/mailman/private/gnhlug-discuss/attachments/20090218/04f9cb3a/attachment-0001.bin
More information about the gnhlug-discuss
mailing list