专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html
题目描述
给一个整数,求该整数的二进制数中,1的个数。
题解报告
最优解法:
int count = 0;
while(n){
++ count;
n = (n-1)&n;
}
(n-1)&n的意思是将一个二进制数最右边的1变为零。
其他解法:
1)可以将原数右移和1做与运算
专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html
给一个整数,求该整数的二进制数中,1的个数。
最优解法:
int count = 0;
while(n){
++ count;
n = (n-1)&n;
}
(n-1)&n的意思是将一个二进制数最右边的1变为零。
其他解法:
1)可以将原数右移和1做与运算