基本上可以长期用100个符号保持数字吗?例如可以长期持有这个数字 -
1000000000000000000010000000000000000000100000000000000000001000000000000000000010000000000000000000
如果不是,我应该使用哪种类型,哪个可以容纳这么多?
我在谈论c ++。
答案 0 :(得分:4)
我建议使用http://gmplib.org/。 正如亚历山大所说,没有标准类型可以将这么大的字符串作为数字来保存。
答案 1 :(得分:1)
对于这么大的数字,您必须实现自定义类型。没有standard type可以容纳这么大的数字。
答案 2 :(得分:1)
没有。 long long
通常为64位,足以容纳大约20位十进制数字。如果你想要更长的时间,你需要一个像gmp这样的库以及它使用的任何结构类型。或者你可以自己动手。
或者,如果您只关心各个数字,则根本不需要数字类型。将“数字”存储为std::string
,按字符处理,每个数字的值等于其字符的ASCII码减去'0'
的值(等于48,如果您愿意,但是'0'更像是自我记录的IMO。)
答案 3 :(得分:0)
即使long long
由80位(double
的长度)组成,它也不会保持10 ^ 100(大于2 ^ 80)。