【发布时间】:2011-07-18 03:16:10
【问题描述】:
我已经在 C# 中实现了代码 here 来获取 int 的 MSB。我不确定我需要对日志引用表和将代码扩展到 64 位的主要代码做什么。
文字中唯一说的是它需要多 2 个 CPU 操作,所以我推断变化很小。
【问题讨论】:
-
它被标记为 C,但你使用的是 C#?
-
源代码是C,我会转成C#。我不是要别人为我做这件事……只是如何在 64 位(C 中)实现 C。
-
假设您使用的是一种 x86 架构,我将只使用 bsr 指令。在 gcc 中,它可以作为 __builtin_clzll() 使用。这用一条指令计算对数...不幸的是,我不知道如何将其转换为 C#。
-
为什么投反对票?这是一个完全合法的问题。
-
bsr 将是完美的。我想知道为什么 MS 没有在 C# 中实现这些较低级别的命令。这是我第三次遇到需要一个。
标签: c 64-bit bit-manipulation 32bit-64bit