乐趣区

关于java:15-二进制中1的个数位运算

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;

退出移动版