在C中尋找整數(shù)中最高集位(MSB)的最快/最有效方法是什么?如果我有一些整數(shù)n,并且我想知道最重要位的位置(也就是說,如果最小的位在右邊,我想知道最遠(yuǎn)的左位的位置是1),那么找出最快速/最有效的方法是什么?我知道POSIX支持ffs()方法,以查找第一個(gè)集合位,但似乎沒有對(duì)應(yīng)的fls()方法。我錯(cuò)過了什么明顯的方法嗎?在不能使用POSIX函數(shù)實(shí)現(xiàn)可移植性的情況下呢?編輯:在32位和64位架構(gòu)上工作的解決方案怎么樣(許多代碼清單似乎只適用于32位INT)。
在C中尋找整數(shù)中最高集位(MSB)的最快/最有效方法是什么?
慕桂英3389331
2019-06-25 17:24:20