在C中寻找整数中最高集位(MSB)的最快/最有效方法是什么?如果我有一些整数n,并且我想知道最重要位的位置(也就是说,如果最小的位在右边,我想知道最远的左位的位置是1),那么找出最快速/最有效的方法是什么?我知道POSIX支持ffs()方法,以查找第一个集合位,但似乎没有对应的fls()方法。我错过了什么明显的方法吗?在不能使用POSIX函数实现可移植性的情况下呢?编辑:在32位和64位架构上工作的解决方案怎么样(许多代码清单似乎只适用于32位INT)。
添加回答
举报
0/150
提交
取消