我正在尝试实现任意大整数的索洛沃伊-斯特拉森素性测试。我也会写一个bignum (不能使用第三方实现,因为这是一个学术项目)。我已经决定了bignum的以下结构:
struct {
uint64_t *tab;
int size; // number of limbs
int sign;
}我将使用base-32表示我的数字(因此uint64_t,对于部分产品,至少我假设它们将是部分产品)。这个决定是基于一个previous question asked.
我处于停顿状态。我无法想象如何将字符串表示为任意大小的小数,并将其转换为上面的bignum结构。
有没有人能告诉我。即使是一个较小的示例也很好,比如将任意字符串转换为八进制数字,这些数字将存储在uint16_t数组中。
谢谢。
发布于 2010-04-26 03:42:29
你需要做算术,调用你的例程。例如,如果字符串为" 2013“(以十进制表示2013),则do:a=0; a=10*a+2; a=10*a+0; a=10*a+1; a=10*a+3。
https://stackoverflow.com/questions/2709616
复制相似问题