在c中表示任意大数的最佳方法是什么?

时间:2009-03-06 17:48:18

标签: c biginteger

我正在开发一个项目,要求我使用大于c中最大数值数据类型的数字。我正在考虑使用带有位字段的结构来表示这一点,但它已经闻起来很糟糕了。有人有任何提示吗? (不是在寻找一个图书馆,更多的是一个思考过程,以便做这样的事情。)

2 个答案:

答案 0 :(得分:9)

The GNU MP Bignum Library将是我的首选。

答案 1 :(得分:5)

我建议先查看GNU MP Bignum库。

如果许可是一个问题,你必须自己动手。我对数据类型的第一选择是一个简单的无符号字符数组以及一些额外的数据来表示该数组的大小。

这样的事情:

typedef struct 
{
  unsigned char * NumberData;
  size_t          AllocatedSize;
} MyBigNum;

应该足够了。