#include <iostream>
#include <algorithm>
using namespace std;
/*
统计比特数描述:
一个整数值列表中查找值含比特1位数最多的整数值,如果有多个含比特1位数相同的整数值,那么返回值最小的那一个整数值.
参数:
items
count
value
返回值:
>0
0
-1
整数值列表整数值个数返回最多含比特1位数的最小整数值
统计成功并返回最多含比特1位数无含比特1的整数值参数不合法
*/
int StatMaxBit(const int *items, int count, int *value)
{
unsigned int copy[count] = {0};
for (int i = 0; i < count; i++)
{
copy[i] = items[i];
}
int result;
int StatNum[count] = {0}; // bit位数目统计
int max = 0;
int k = 0;
if (!items || count < 0 || !value)
{
result = -1;
}
else
{
unsigned int *star = copy;
unsigned int *end1 = copy + count;
// 数字bit位统计模块
for (; star < end1; star++)
{
int oneBitnum = 0;
unsigned int temp = *s