在C语言中,表示任意大的数字的最佳方法是什么?

5

我正在处理一个需要使用比c语言中最大数值类型更大的数字的项目。我考虑使用带有位域的结构体来表示这些数字,但是这种方法已经让我感到不妙了。有没有人有什么建议?(不是在寻找库,而是想知道如何思考解决这个问题。)


我不同意这是参考资料的完全副本。我不是在寻找一个库(应该明确说明),而是大量数值数据的最佳实践。在这种情况下,它是在Linux上,但这应该是平台无关的。 - sdellysse
2个回答

9

5

我建议首先查看GNU MP Bignum库。

如果许可证是个问题,您需要自定义。我的第一个数据类型选择将是一个无符号字符的简单数组,以及一些额外的数据来表示该数组的大小。

像这样:

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

应该足够了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接