15. 二进制中1的个数
补充:
Java的位运算符:
- 位逻辑运算符:
与 &,或 |,非 ~,抑或 ^
其中抑或的含义:如果对应的二进制位相同(同时为 0 或同时为 1)时,结果为 0;如果对应的二进制位不相同,结果则为 1。 - 位移运算符
1、左移<<,低位补零
2、带符号右移>>,高位补符号
3、无符号右移>>>,高位补零
- 位逻辑运算符:
引用:
Java语言位运算符详解
Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
思路:
输入为二进制数,应该使用位运算。而不是把它看成一个很大的十进制数(我的IDEA把它看成了一个十进制...)
1、n&1,等于1 就res+1
2、n向右移1位
操作:
官方:
1、循环:while(n!=0) 更快
2、res = res + n&1;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。