【发布时间】:2015-06-24 20:20:30
【问题描述】:
引自https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html,
——内置函数:
int __builtin_clz (unsigned int x)返回 x 中前导 0 位的数量,从最高有效位位置开始。如果 x 为 0,则结果未定义。
什么是 Delphi 等价于 C __builtin_clz() ?如果没有,如何在 Delphi 中高效实现?
其实我想用它来计算一个整数的以2为底的对数。
【问题讨论】:
-
整数对数基数 2:
function IntLog2 Value: integer ): integer; asm BSR EAX, EAX end;。正如大卫所说,你必须检查零。见codexterity.com/intlog2.htm。
标签: delphi