求int型数据在内存中存储时1的个数
Posted 新生代黑马
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求int型数据在内存中存储时1的个数相关的知识,希望对你有一定的参考价值。
题目描述
输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
输入描述
输入一个整数(int类型)
输出描述
这个数转换成2进制后,输出1的个数
输入样例
5
输出样例
2
测试代码1
1 #include <stdio.h> 2 3 int main() 4 { 5 int n, count; 6 while (scanf("%d", &n) != EOF) 7 { 8 count = 0; 9 while (n) 10 { 11 if (n & 1) 12 { 13 count++; 14 } 15 n = n >> 1; 16 } 17 printf("%d\n", count); 18 } 19 return 0; 20 }
测试代码2
1 #include <stdio.h> 2 3 int main() 4 { 5 int n, count; 6 while (scanf("%d", &n) != EOF) 7 { 8 count = 0; 9 while (n) 10 { 11 count++; 12 n = n & (n - 1); 13 } 14 printf("%d\n", count); 15 } 16 return 0; 17 }
以上是关于求int型数据在内存中存储时1的个数的主要内容,如果未能解决你的问题,请参考以下文章