【发布时间】:2014-01-22 19:53:35
【问题描述】:
我想与 C 中的整数进行比较,问题是找到不同的最低有效位。 C 中最快的方法是什么?
例子:
Bit
3210
----
a = 13 (binary 1101)
b = 9 (binary 1001)
^
这里的结果应该是2,因为第2位是第一个不同的位。
【问题讨论】:
-
做一个 XOR 并找到第一个设置位。
-
为了找到第一位,无论是从左边还是从右边,寻找一个编译器内在函数;这通常由硬件本地提供,并由编译器方便地公开。
标签: c bit-manipulation