首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不带模基的大整数转换为字符串的算法

不带模基的大整数转换为字符串的算法
EN

Stack Overflow用户
提问于 2018-12-14 10:13:24
回答 3查看 1.6K关注 0票数 3

我已经找了一段时间来寻找一个将整数转换为字符串的算法。我的要求是手动这样做,因为我正在使用我自己的大数字类型。我已经定义了+ - * /(with remainder),但是需要找到一种方法从一个双int (高和低,如果int是64位,128位总计)打印一个数字。

我看到了一些答案,例如

Convert integer to string without access to libraries

Converting a big integer to decimal string

但他想知道一个更快的算法是否有可能。我愿意直接使用位(例如,base2到基10 -字符串-但是我找不到这样的算法),但我只是希望避免对可能高达2^128的数字重复进行10除法。

EN

Stack Overflow用户

回答已采纳

发布于 2018-12-14 14:05:37

您可以使用“分而治之”的方式,使用标准库(通常在该工作中非常有效)将部分转换为字符串。

因此,与其在每次迭代中除以10,您还可以将代码块除以10**15,并让库将这些块转换为15位数字字符串。最多三步之后,你就完蛋了。

当然,您必须对零填充做一些字符串操作。但是也许您的库在这里也可以帮助您,如果您对所有较低的部分使用%015d零填充格式,对于最高的非零部分使用非填充%d格式。

票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53777629

复制
相关文章

相似问题

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