我正在处理一个需要使用比c语言中最大数值类型更大的数字的项目。我考虑使用带有位域的结构体来表示这些数字,但是这种方法已经让我感到不妙了。有没有人有什么建议?(不是在寻找库,而是想知道如何思考解决这个问题。)
我建议首先查看GNU MP Bignum库。 如果许可证是个问题,您需要自定义。我的第一个数据类型选择将是一个无符号字符的简单数组,以及一些额外的数据来表示该数组的大小。 像这样: typedef struct { unsigned char * NumberData; size_t AllocatedSize; } MyBigNum; 应该足够了。