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

有帮助吗?

解决方案

我建议先查看GNU MP Bignum库。

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

这样的事情:

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

应该足够了。

其他提示

GNU MP Bignum Library 将是我的首选。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top