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;