gpt4 book ai didi

performance - 乘以 2 或将数字加到自身上哪个更好?大数

转载 作者:行者123 更新时间:2023-12-01 07:12:12 28 4
gpt4 key购买 nike

我需要一些帮助来决定什么更好 性能 明智的。
我正在与 一起工作bigints (超过 500 万位)并且大部分计算(如果不是全部)都在将当前 bigint 加倍。所以我想知道 是否更好乘每个单元格(bigint 的一部分)乘以 2,然后对其进行修改,您就知道其余的了。或者只是更好添加 bigint 本身。

我也在考虑实现的难易程度(添加 2 个 bigints 比乘以 2 更复杂),但我更关心的是性能,而不是代码的大小或实现的难易程度。

其他信息:
我将在 中对其进行编码C++ ,我对 bigints 相当熟悉(只是从未遇到过这个问题)。
我不需要任何源代码或类似的我只需要一个很好的意见和解释/证明它,因为我需要从一开始就做出一个好的决定,因为项目将相当大并且主要围绕这部分构建这在很大程度上取决于我现在的选择。

谢谢。

最佳答案

尝试对每一位进行位移。这可能是最快的方法。当您将一个整数向左移位时,您将其翻倍(乘以 2)。如果一个链中有几个长整数,那么你需要存储最高位,因为移位之后它就没有了,你需要把它作为下一个长整数的最低位。

这实际上并不重要。现代 64 位计算机可以在对它们进行位移(1 个时钟周期)的同时将两个整数相加,因此需要同样长的时间。我建议你尝试不同的方法,如果有任何重大的时间差异,然后报告。所有三种方法都应该易于实现,并且使用随机数生成器生成 5mb 数字也应该很容易。

关于performance - 乘以 2 或将数字加到自身上哪个更好?大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1261007/

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