首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型整型编译器的实现?

大型整型编译器的实现?
EN

Stack Overflow用户
提问于 2009-06-15 12:23:57
回答 7查看 269关注 0票数 0

我正在构建一个类似于c的编译器,但我希望它能够解析大于2^32的整数。怎么可能?大整数是如何在python和ruby类语言中实现的..!!

EN

回答 7

Stack Overflow用户

发布于 2009-06-15 12:29:28

有一些库可以做这类事情。

查看gmplib

票数 8
EN

Stack Overflow用户

发布于 2009-06-15 13:10:41

有很多大数字的库,完整的列表请参见this wikipedia article

对于我所遇到的一切,GMP(GNU Multiple Precision Arithmetic Library)就足够了。NTL更多的是相同的,但是是面向对象的。

通常,这些库使用数组来表示数字,如果您想使用自己的数字,则将数字的每个数字表示为一个字符,但这需要大量的工作。

票数 2
EN

Stack Overflow用户

发布于 2009-06-15 12:45:08

如果你想自己写,请跟随我的记忆之旅;-)。

在过去,计算机使用8位。我们经常需要计算较大的数字(比如> 255)。我们都得写例程。例如加法。

如果我们需要将两个字节的数字相加,我们使用以下算法:

  • 添加最低有效字节。
  • 如果结果超过8位,则设置进位位。
  • 添加最高有效字节和进位标志(如果设置)。
  • 如果结果超过8位,则会产生溢出错误(但如果需要超过2个字节,则不需要执行此操作。

您可以将其扩展到更多字节/字/dword/qword和其他运算符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/995821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档