您的位置:首页 > 其它

二进制中1的个数,二进制奇偶位的二进制序列,一个整数的每一位,两个整数二进制中有多少个不同位

2018-03-26 17:29 246 查看

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

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int count_one_bits(unsigned int n)
{
int count = 0;
int i = 32;
while(i--)
{

if(((n>>i)&1) == 1)
count++;

}
return count;

}

int main()
{
int n = 0;

printf("请输入一个数字\n");
scanf("%d", &n);

printf("1的个数为:%d\n",count_one_bits(n));

return 0;
}


分别输出二进制序列中所有的偶数位和奇数位形成的二进制序列

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int n = 0;
int k = 0;
int i =0;

printf("请输入一个数字\n");
scanf("%d", &n);
printf("偶数序列:");
for(i=31; i>=0; i-=2)
{
k = (n>>i) & 1;
printf("%d",k);

}
printf("奇数序列:");
for(i=30; i>=0; i-=2)
{
k = (n>>i) & 1;
printf("%d",k);

}
return 0;
}


输出一个整数的每一位

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int n = 0;
int j = 0;
printf("请输入一个整数:");
scanf("%d",&n);
printf("输出一个整数的每一位:\n");
while(n)
{

j = n%10;
printf("%d ", j);
n = n/10;

}
return 0;
}


两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int n = 0;
int m = 0;
int j = 0;
int k = 0;
int i = 0;
int count = 0;
scanf("%d", &n);
scanf("%d", &m);
for(i=31; i>=0; i--)
{
j = (n>>i) &1;
k = (m>>i) &1;
if(j != k)
count++;
}

printf("有%d个位不同\n", count);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐