在计算机中,输出一个整数二进制中1的个数.
2017-04-14 20:50
127 查看
一、 正数如何输出1的个数
#include <stdio.h>
#include <stdlib.h>
int main(){
int i = 7;
int count = 0;
while (i != 0){
if (i % 2 == 1)
count++;
i = i / 2;//除二相当于去掉了二进制中的一个1;
}
printf("%d\n", count);
system("pause");
return 0;
}
二、任一个整数数中1的个数
#include <stdio.h>
#include <stdlib.h>
int count_one(int x)
{
int count = 0;
while (x){
count++;
x = x&(x - 1);//相当于取掉二进制的一个1;
}
return count;
}
int main()
{
int num = -1;
int i= count_one(num);
printf("%d\n", i);
system("pause");
return 0;
}
欢迎各位,批评指正。
#include <stdio.h>
#include <stdlib.h>
int main(){
int i = 7;
int count = 0;
while (i != 0){
if (i % 2 == 1)
count++;
i = i / 2;//除二相当于去掉了二进制中的一个1;
}
printf("%d\n", count);
system("pause");
return 0;
}
二、任一个整数数中1的个数
#include <stdio.h>
#include <stdlib.h>
int count_one(int x)
{
int count = 0;
while (x){
count++;
x = x&(x - 1);//相当于取掉二进制的一个1;
}
return count;
}
int main()
{
int num = -1;
int i= count_one(num);
printf("%d\n", i);
system("pause");
return 0;
}
欢迎各位,批评指正。
相关文章推荐
- 用移位运算实现一个整数二进制形式的输出--简短程序分析
- 将一个整数在计算机中的二进制表示打印出来
- 4.输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 在计算机中输出一个整数奇数和偶数位
- 2.2题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 判断是否为2的幂||输出一个整数二进制格式中1的个数 非循环非递归实现
- 算法例题-求输入一个整数,输出对应二进制中1的个数。
- 输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- C语言 将一个整数的二进制序列分别输出
- 给定一个整数,输出这个整数二进制表示中1的个数
- 第十三周-输入一个整数,要求输出对应的二进制形式。
- C语言:编写函数将一个整数的二进制位模式从左到右翻转后的值输出
- 第十二周项目3--输出一个整数的二进制形式
- 输入一个整数,求该整数的二进制中1的个数,并输出
- 定义一个不受计算机字长限制的整数类INT,要求INT与INT以及INT与C++基本数据类型int之间能进行+、-、×、÷和=运算,并且能通过cout输出INT类型的值。(持续添加)
- 输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- 【输出一个整数的二进制存储形式】
- 10--输入一个十进制的整数,转化为二进制,输出有多少个1
- 2.3题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出
- 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.