gpt4 book ai didi

c++ - 使用分而治之法将二进制转换为十进制

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:24 25 4
gpt4 key购买 nike

我目前被困在一项任务中,几乎到处都在寻找我正在尝试做的事情的线索。

赋值很简单,我们将得到一个 vector 形式的二进制数(例如 [1,1,1,1],我们将计算该数的十进制形式并放回相同的 vector 形式(例如 [1,5] 用于回答上一个示例)。

虽然起初我认为这是一个简单的解决方案,但我很快发现我们要使用这种方法来计算非常大的数字,例如二进制中的 300 个 1。

现在,在我意识到我试图直接计算它的错误之后,我很快找到了“分而治之”方法的想法,但我没有找到一个地方给出如何在这个中使用它的精确示例上下文。

由于这是一项作业,我宁愿提出一个实际解释概念并提供示例的答案,而不是直接的代码块。

提前谢谢你,

马修

最佳答案

编写一个以 10 为基数的数学引擎。

它应该包括与另一个以 10 为底的数字的加法,以及与 int 的乘法。 (加倍就足够了)

遍历二进制数字,跟踪与该数字对应的以 10 为底的数字。

有条件地积累。

唯一困难的部分是 base 10 数学系统,其他一切都需要 3 到 8 行代码。

遗憾的是,能够更有效地做到这一点的简单方法非常有限,因为二进制数的任何数字都可以影响等效的以 10 为底的数字的任何数字。可能有奇特的方法,但对于 300 位数字你不应该费心。

关于c++ - 使用分而治之法将二进制转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18879222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com