初入'C',以做一个例题有感。 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

    题目:写一个函数返回参数二进制中 1 的个数

    方法1:

    我自己写的,运用'%'和'/',感觉挺简单的,

初入'C',以做一个例题有感。

    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:

    运用移位'>>',我还不太熟悉运用移位操作符,以后得加强练习。

    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:

    运用'&'和移位,这个真的不易想到,我想得数学好才能想到吧!怪我数学不好,得加强算法学习,多接触,积累经验,

电脑资料

初入'C',以做一个例题有感。》(http://meiwen.anslib.com)。

    int count_one_bit(int num)

    {

    int count = 0;

    while (num)

    {

    count++;

    num = num & (num - 1);

    }

    return count;

    }

    总结: 初入'C',感觉写代码好具有逻辑性呀!好奇妙的感觉!刚刚百度了一下,上面陈述了好多种方法,但真的太弱了,有些竟然连看都还看不懂,好忧伤!慢慢来吧!

    已经选择了,决定了走程序员这条路,就不要抱怨,不要再偷懒,不要找各种借口和理由放纵自己,远离电影,少靠近床,踏踏实实努力学习一年!

    我一直相信:努力了不一定会成功,但不努力一定不会成功!无论最后结果如何,但只有现在努力了,以后,我才不会怨恨自己,不会悔恨,心里也是美好的。

最新文章