在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)
,所以能够将大整数作为系数(多项式)插入向量
答案 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
。