計算int變數中攸多少bit的值是1

WJnuHhail發表於2024-06-03
/******************************************************************************************************
 * @file name:		  :CountInt
 * @brief  		      :
 * @author 		      :wvjnuhhail@126.com
 * @date 			      :2024/06/03
 * @version 1.0 	  :V1.0
 * @property 		    :暫無
 * @note   		      :None
 * CopyRight (c)  2023-2024   wvjnuhhail@126.com   All Right Reseverd
 ******************************************************************************************************/

/*******************************************************************************************************
 * @function name   :	count_bits_1
 * @brief           : 計算int變數中有多少bit的值是1。
 * @param           : value
 * @retval          : int
 * @date 			      :2024/06/03
 * @version         :V1.0
 * @note   		      :None
 *******************************************************************************************************/

int count_bits_1(int value)
{
  int count = 0, i = 0;

  for (i = 0; i < 32; i++)
  {
    if (value & 0x01)
    {
      count++;
    }
    value >>= 1;	//逐個移位操作
  }
  return count;
}
int main()
{
  printf("%d\n", count_bits_1(7));
}

相關文章