题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include <iostream> #include <vector> using namespace std; int main() { unsigned int num; cin >> num; // 用于存储二进制数 unsigned short n = 0; // 一开始想着把二进制数存起来, // 但是又想一下,发现只需要二进制数中的1的个数,而不是二进制数本身 // 那就每求出一位则立即判断是不是1,是的话就记录 while (num != 0) { if (num % 2 == 1) { ++n; } num /= 2; } cout << n; } // 64 位输出请用 printf("%lld")