NTL Library:如何为ZZ_p分配一个大整数

时间:2015-07-13 14:47:27

标签: c++ ntl

在NTL库中,我知道我们可以将大整数值定义为:

ZZ p;
p=to_ZZ("1111111111111111111111111111111333333333333333");
ZZ_p::init(p);
ZZ_p b(12);

我的问题是:如果我想为b而不是12分配一个大整数怎么办?

e.g。

ZZ_p b("1111111111111111111111111111111333333333333334");

因此,它应该模p并将1分配给b

我需要fFindRoots(vec_ZZ_p& x, const ZZ_pX& ff),所以能够将大整数作为系数(多项式)插入向量

1 个答案:

答案 0 :(得分:0)

首先:我尝试了您发布的代码,但ZZ_p b(12);行对我不起作用。 我不得不使用

ZZ_p b;
b = 12;

如果要分配一个大整数,可以通过

执行此操作
ZZ_p b;
b = to_ZZ_p(conv<ZZ>("1111111111111111111111111111111333333333333334"));

char bigInteger[47] = "1111111111111111111111111111111333333333333334";
ZZ_p b;
b = to_ZZ_p(conv<ZZ>(bigInteger));

cout << b << endl;现在会打印1