#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
//int count2(unsigned int a)//加一个unsigned变为无符号数,
//{
// int count1 = 0;
// while (a)
// {
// if (a%2 == 1);
// {
// count1++;
// }
// a = a/2;
// }
// return count1;
//}
int count2(int a)//加一个unsigned变为无符号数,
{
int count1 = 0;
while (a)
{
a = a & (a - 1);// 可以把2进制最右边的1消除///超级算法
count1++; //比如a=1011和a-1=1010 为1010
}
return count1;
}
int get_diff_bit(int a, int b)
{
int tmp = ab;//158=15是怎么回事,b传过去为0--%d%d,输了1个
count2(tmp);
}
void print(int *p, int sz)//打印一个数组
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", *(p + i));//注意不是(*p+i)
}
}
//逆置数组,
//while (l > r)
//int tmp = arr[l];
//arr[l] = arr[r];
//arr[r] = tmp;
//l++;
//r__;
//printf(%s)
////int i=0;
////for (i = 30; i > 0; i -= 2)//奇数位
////{ 2进制:位数和增大方向相反
//// printf("%d", (m >> i) & 1);//向右移动i位,
////}//00000000000000000000000001000001 从左边第一位开始移动
////int i=0;
////for (i = 31; i > 0; i -= 2)//偶数位
////{ 2进制:位数和增大方向相反
//// printf("%d", (m >> i) & 1);//向右移动i位,
////}
int main()
{
//int arr1[] = { 1,3,5,7,9 };
//int arr2[] = { 2,4,6,8,10 };
////int tmp[5] = { 0 };
//int tmp = 0;
//int i = 0;
//for (i = 0;i < 5; i++)
//{
// tmp = arr1[i];
// arr1[i] = arr2[i];
// arr2[i] = tmp;
//}
}