題目:寫(xiě)一個(gè)函數(shù)返回參數(shù)二進(jìn)制中 1 的個(gè)數(shù)
方法1:
我自己寫(xiě)的,運(yùn)用'%'和'/',感覺(jué)挺簡(jiǎn)單的,
初入'C',以做一個(gè)例題有感。
。int count_one_bit(int num)
{
unsigned int count=0;
while(num)
{
if(num%2==1)
count++;
num=num/2;
}
return count;
}
int main()
{
int n = 0;
int count = 0;
scanf("%d", &n);
count = count_one_bit(n);
printf("%d\n", count);
system("pause");
return 0;
}
方法2:
運(yùn)用移位'>>',我還不太熟悉運(yùn)用移位操作符,以后得加強(qiáng)練習(xí)。
int count_one_bit(int num)
{
int count = 0;
int i = 32;
while (i--)
{
if (num & 1 == 1)
count++;
num = num >> 1;
}
return count;
}
方法3:
運(yùn)用'&'和移位,這個(gè)真的不易想到,我想得數(shù)學(xué)好才能想到吧!怪我數(shù)學(xué)不好,得加強(qiáng)算法學(xué)習(xí),多接觸,積累經(jīng)驗(yàn),
電腦資料
《初入'C',以做一個(gè)例題有感。》(http://m.clearvueentertainment.com)。int count_one_bit(int num)
{
int count = 0;
while (num)
{
count++;
num = num & (num - 1);
}
return count;
}
總結(jié): 初入'C',感覺(jué)寫(xiě)代碼好具有邏輯性呀!好奇妙的感覺(jué)!剛剛百度了一下,上面陳述了好多種方法,但真的太弱了,有些竟然連看都還看不懂,好憂傷!慢慢來(lái)吧!
已經(jīng)選擇了,決定了走程序員這條路,就不要抱怨,不要再偷懶,不要找各種借口和理由放縱自己,遠(yuǎn)離電影,少靠近床,踏踏實(shí)實(shí)努力學(xué)習(xí)一年!
我一直相信:努力了不一定會(huì)成功,但不努力一定不會(huì)成功!無(wú)論最后結(jié)果如何,但只有現(xiàn)在努力了,以后,我才不會(huì)怨恨自己,不會(huì)悔恨,心里也是美好的。