求下面函數(shù)的返回值(微軟)int func(x) { int countx = 0; while(x) { countx ; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8 思路:將x轉(zhuǎn)化為2進制,看含有的1的個數(shù)。 程序每循環(huán)一次就把二進制的一個1去掉,直到0為止 |
|
來自: piaoyedu > 《C/C 面試筆試》