我正在构建一个类似于c的编译器,但我希望它能够解析大于2^32的整数。怎么可能?大整数是如何在python和ruby类语言中实现的..!!
发布于 2009-06-15 12:29:28
有一些库可以做这类事情。
查看gmplib。
发布于 2009-06-15 13:10:41
有很多大数字的库,完整的列表请参见this wikipedia article。
对于我所遇到的一切,GMP(GNU Multiple Precision Arithmetic Library)就足够了。NTL更多的是相同的,但是是面向对象的。
通常,这些库使用数组来表示数字,如果您想使用自己的数字,则将数字的每个数字表示为一个字符,但这需要大量的工作。
发布于 2009-06-15 12:45:08
如果你想自己写,请跟随我的记忆之旅;-)。
在过去,计算机使用8位。我们经常需要计算较大的数字(比如> 255)。我们都得写例程。例如加法。
如果我们需要将两个字节的数字相加,我们使用以下算法:
您可以将其扩展到更多字节/字/dword/qword和其他运算符。
https://stackoverflow.com/questions/995821
复制相似问题