【问题标题】:Improvement to Algorithm算法改进
【发布时间】:2011-11-21 19:54:52
【问题描述】:

我在一次采访中被问到这个问题。

如果您有两个以二进制形式表示并存储为字符串的数字。你将如何执行简单的加法。这是最容易的部分。 (我的解决方案:跑过最短的一个并跟踪进位,其余的重复)

困难的部分是当他问我:

您将如何使用硬件来加快处理速度。

社区有什么建议吗?

【问题讨论】:

标签: algorithm


【解决方案1】:

我会说,将它们转换为适当的整数,并使用硬件 (ALU) 执行加法,然后在需要时将结果转换回字符串。

【讨论】:

  • 还要记住二进制形式与特定的字节序相关联,这有时会很棘手,因为人们忘记了这一点以及数据与其表示之间的区别。
【解决方案2】:

将数字转换为整数变量并让 CPU 执行加法会立即浮现在脑海中。然后,如果您愿意,您可以将数字分成几位。

【讨论】:

  • “十进制整数”是什么意思。计算机可能更喜欢以二进制工作;-)
  • 我认为这不会更快。您仍然需要遍历字符串中的每个字符来构建数字的二进制表示。
猜你喜欢
  • 2014-07-15
  • 2016-08-04
  • 2011-03-06
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2013-01-20
  • 1970-01-01
相关资源
最近更新 更多