C++ code will not compile

Greg Davis khiloa at gmail.com
Mon Mar 6 04:16:40 CET 2006


Blake,

Thanks for the reply, the code compiles now but it segfaults after a few
seconds.

I guess maybe I'll have to buy a new computer unless somebody here has a
better idea. :P

Thanks for any further suggestions.



Blake Huff wrote:

>Gregg:
>
>I assume it's because 2^32 = 4294967296, which is too large as the  
>range of an unsigned long integer should be 0-4294967295.  If it  
>compiled correctly, it would have to be done on a 64 bit system (or  
>something larger than 32 bits).
>
>Blake
>
>
>P.S. To get the same effect, try this:
>
>mpz_set_ui(x, 4294967295);
>mpz_add_ui(x, x, 1);
>
>It might take an extra computational cycle or two, but that's why we  
>make ghz processors, no?
>
>
>
>
>
>On Mar 5, 2006, at 11:47 AM, Greg Davis wrote:
>
>  
>
>>Hi guys,
>>
>>I got this code from some forums:
>>
>>#include <iostream>
>>using namespace std;
>>#include <gmp.h>
>>
>>int main()
>>{
>>mpz_t x;
>>unsigned int y=126976;
>>mpz_init(x);
>>mpz_set_ui(x,4294967296);
>>cout << "\nx: " <<x << endl;
>>cout << "\ny: " <<y << endl ;
>>mpz_pow_ui(x, x, y);
>>cout << "x^y is  " << x << endl;
>>mpz_clear(x);
>>}
>>
>>but when I try to compile it I get:
>>
>>bignum.cpp:11: error: integer constant is too large for "long" type
>>
>>Can anyone help me figure out why it does this? It seems to compile  
>>fine
>>on his computer.
>>
>>Thanks for any help.
>>_______________________________________________
>>gmp-discuss mailing list
>>gmp-discuss at swox.com
>>https://gmplib.org/mailman/listinfo/gmp-discuss
>>    
>>
>
>Blake Huff
>stangmechanic at gmail.com
>
>
>
>_______________________________________________
>gmp-discuss mailing list
>gmp-discuss at swox.com
>https://gmplib.org/mailman/listinfo/gmp-discuss
>
>  
>



More information about the gmp-discuss mailing list