我应该为BigInt类使用什么数据结构

use*_*004 5 c++ math biginteger data-structures

我想实现一个BigInt类,它能够处理真正的大数字.我只想添加和乘以数字,但是类也应该处理负数.

我想将数字表示为字符串,但将字符串转换为int并返回以进行添加会产生很大的开销.我想在高中实施添加,添加相应的顺序,如果结果大于10,则将进位添加到下一个顺序.

然后我认为最好将它作为一个unsigned long long int数组处理并保持符号由bool分隔.有了这个我害怕int的大小,因为我知道C++标准只保证int <float <double.如我错了请纠正我.因此,当我达到某个数字时,我应该向前移动数组并开始向下一个数组位置添加数字.

是否有适合或更好的数据结构?

Jon*_*oni 5

那么,你想要一个众所周知的大小的动态数组?

听起来vector<uint32_t>应该适合你.

  • 家庭作业?嵌入式?在任何情况下,你都需要像'vector`这样的东西.幸运的是,重建一个基本的"动态数组"是一个简单的练习. (2认同)