使用gmp的大整数数组

时间:2015-03-09 19:58:18

标签: c++ arrays gmp

我正在使用带有c ++的GMP来处理真正的大整数。我有一个包含大数字列表的文件。我通过以下方法将这些数字存储为向量的元素:

vector<string>     data;


std::ifstream file("something.txt");

std::string line;

while(std::getline(file, line))
{
    data.push_back(line);
}

(文件的每一行只包含一个大数字。)

现在我想使用这些数字来执行某些算术,我尝试将它们存储在mpz_t数组中,如下所示:

int size = (int) data.size();
mpz_t q[size];
for (int i=0;i<size;i++)
{
    mpz_init(q[i]);
    mpz_set_ui(q[i],0);
}

for (int i=0; i<size; i++)
{
    mpz_set_str(q[i], data[i] , 10);
}

在这里,使用mpz_set_str我有一个错误,我真的不知道为什么。

请注意,我是c ++的完全初学者,当然还有GMP库。

0 个答案:

没有答案