その係数ベクトルの整数表現を取得する方法はありますか? つまり、最高次数の係数がその整数の MSB であり、x^0 の係数が LSB であるという意味ですか? メソッド BytesFromGF2X を使用すると、ビッグ エンディアンでもリトル エンディアンでもない奇妙な表現になります。
たとえば、要素が x^23+x^20+x+1 の場合、整数を取得したいと思います: 2^23+2^20+2+1。
これはどう:
GF2X P;
SetCoeff(P, 0, 1);
SetCoeff(P, 20, 1);
SetCoeff(P, 23, 1);
ZZ number;
clear(number);
long degree = NTL::deg(P);
for(long i = 0; i <= degree; ++i)
number += conv<ZZ>(P[i]) * power2_ZZ(i);
注意:P
印刷すると、サイズ 24 の配列のように見えます。そうではありません。これは常に係数のリストとして出力され、最高のものは になり1
ます。しかしP
、より高い次数のすべての係数がゼロであることはわかっています。