[ C語言生活記事 ] 常見函數實作 (2) 輸入整數後,輸出2進位碼有幾個1

函數實作 (2) 輸入整數後,輸出2進位碼有幾個1

基本思路為,先將整數N轉成2進位,在使用一個迴圈慢慢除2,將1的數量做輸出。

ex. N = 10   =  1010 (binary) 

但是除法運算效率很差,除以二的方式可以採用 >> 2 來取代,

bit operation 的效率相較除法高很多,因此我們採用這種方式作實現。

...繼續閱讀 »