存储和打印大于2 ^ 64的整数值

use*_*672 9 c types multiprecision

我正在尝试编写一个程序来查找mersenne素数.使用无符号长long类型,我能够确定第9个mersenne prime的值,即(2 ^ 61)-1.对于较大的值,我需要一种可以存储大于2 ^ 64的整数值的数据类型.请帮忙.(我应该能够使用这种数据类型的运算符,如, =,>,<和%.)

jbr*_*jbr 8

你不能用C natives类型做你想要的,但是有些库可以处理任意大的数字,比如GNU Multiple Precision Arithmetic Library.


RAM*_*RAM 6

为了存储大数字,有许多选择,下面按优先级降低的顺序给出:

1)在github,codeflex等上使用由他人开发的第三方库,用于您提到的语言,即C.

2)切换到其他语言,如Python,内置大量处理功能,Java,支持BigNum或C++.

3)开发自己的数据结构,可以是字符串(其中100个字符长度可以指100个十进制数字)及其自定义操作,如加法,减法,乘法等,就像C++中的复数库一样以这种方式开发.这个选择可能适合您的研究和教育目的.