|
1
11
英特尔有专门的指令来查找最低或最高阶的集合位。 BSF bit twiddling hacks page 至少你可以使用一个半字节或字节表来加快速度。类似这样的内容(针对int进行了演示,但可以根据需要轻松地更改为longlong)。
|
|
|
2
9
我发现最快的是
|
|
|
3
4
|
|
4
3
您可以使用
丑陋,但不涉及循环。 |
|
|
5
2
实现一种二进制搜索怎么样? 查看由位和掩码值产生的低位,掩码值都在低位。如果该值为零,则知道最小的位位于数字的上半部分。 另一个聪明人把这东西切成两半,然后再去。 |
|
|
6
2
这可能适用于32位。应该很容易扩展到64。
显然,如果有某种方法让硬件去做这件事,也就是说,如果有特殊的CPU指令可用,这就是方法。 |
|
|
7
0
像这样的怎么样?它大大减少了循环的数量。
|
|
|
8
0
我编写了两个函数,它们返回的结果与ffsll()相同。
|
|
|
9
0
|
|
|
10
-1
考虑变量x x&~(x-1)给出一个二进制数,该二进制数仅包含设置位,其余均为零
现在继续向右移位这个二进制数,直到该数字为零,然后计算移位的次数,这将给出最右边的设置位数。 |
|
|
11
-3
如果是偶数,则最低阶位为第一位。
|
|
|
D W · Python-将浮点数从2转换为10到100位小数 1 年前 |
|
|
NScara · 从Python中的二进制值解压缩文件[关闭] 2 年前 |
|
|
cake2244 · R中的应急表[副本] 2 年前 |
|
|
Linh Chi · 如何调试用于二进制搜索的Javascript代码 2 年前 |
|
|
GoodCat · 如何将这64行缩短4个字符? 2 年前 |