• 函数返回值1的数量


    方法一:
    
    #include<stdio.h>
    int count_one_bits(unsigned int value)
    {
    	int count = 0;
    	while(value)
    	{
    		if( value%2 == 1)
    			count ++;
    		value = value/2;
    	}
    	return count;
    }
    int main()
    {
    	int ret = 0;
    	ret = count_one_bits(15);
    	printf("%d
    ",ret);
    	//printf("%d
    ",count_one_bits(ret));
    	return 0;
    }
    
    方法二:
    
    #include<stdio.h>
    int count_one_bits_1(unsigned int value)
    {
    	int count = 0;
    	while(value)
    	{
    		count ++;
    		value = value &(value - 1);
    	}
    	return count;
    }
    int main()
    {
    	int ret = 0;
    	ret = count_one_bits_1(15);
    	printf("%d
    ",ret);
    	//printf("%d
    ",count_one_bits(ret));
    	return 0;
    }
    
    方法三:
    
    #include<stdio.h>
    
    int count_one_bits_2(unsigned int value)
    {
    	int count = 0;
    	while(value)
    	{
    		if(value%2 == 1)
    		{
    			count ++;
    			value =value>>1;
    		}
    	}
    	return count;
    }
    int main()
    {
    	int ret = 0;
    	ret = count_one_bits_2(15);
    	printf("%d
    ",ret);
    	//printf("%d
    ",count_one_bits(ret));
    	return 0;
    }
    
    

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    学习总结(二十六)
    学习总结(二十五)
    在知乎学习怎么参加工作
    连分数系列
    Kalman Filter
    五子棋的学习
    Dijkstra
    三等分角、化圆为方、倍立方体
    女朋友走丢数学模型
    传染病模型
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4815982.html
Copyright © 2020-2023  润新知