NTL 库:如何将大整数分配给 ZZ_p

NTL Library: How to assign a big integer to ZZ_p

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

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

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

例如

ZZ_p b("1111111111111111111111111111111333333333333334");

所以它应该取模 p 并将 1 分配给 b

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

首先:我尝试了您发布的代码,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.