0
我对大数使用mpz_t。我需要将mpz_t转换为二进制表示。我试图使用mpz_export,但返回的数组只包含0。将mpz_t转换为二进制表示
mpz_t test;
mpz_init(test);
string myString = "173065661579367924163593258659639227443747684437943794002725938880375168921999825584315046";
mpz_set_str(test,myString.c_str(),10);
int size = mpz_sizeinbase(test,2);
cout << "size is : "<< size<<endl;
byte *rop = new byte[size];
mpz_export(rop,NULL,1,sizeof(rop),1,0,test);
https://gmplib.org/manual/Converting-Integers.html' mpz_get_str(char *,int,mpz_t)' – iksemyonov
尽管OP看起来像是愿意转换成一系列连接在一起代表原始数字的字节序列,而不是一串'char'。 – iksemyonov