在c中表示任意大数字的最佳方式是什么?
我正在开发一个项目,该项目要求我处理大于 c 中最大数字数据类型的数字。 我正在考虑使用带有位字段的结构来表示这一点,但它已经闻起来很糟糕。 有人有任何提示吗? (不是寻找图书馆,更多的是做这样的事情背后的思考过程。)
I'm working on a project that requires me to work with numbers larger than the largest numerical datatype in c. I was thinking of using structs with bit fields to represent this, but it's already smelling bad. Anyone got any tips? (Not looking for a library, more of a thought process to go behind doing something like this.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
GNU MP Bignum 库 将是我的第一选择。
The GNU MP Bignum Library would be my first choice.
我建议首先查看 GNU MP Bignum 库。
如果许可是一个问题,您必须自己推出。 我对数据类型的第一选择是一个简单的无符号字符数组以及一些额外的数据来表示该数组有多大。
像这样:
应该足够了。
I suggest to first check out the GNU MP Bignum library.
If licensing is a problem you have to roll your own. My first choice for the data-type would be a simple array of unsigned chars along with some extra data to denote how large that array is.
Something like this:
Should be sufficient.