初入'C',以做一個(gè)例題有感。 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.clearvueentertainment.com - 電腦資料】

    題目:寫(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ì)悔恨,心里也是美好的。

最新文章