15. 二进制中1的个数,位运算

15. 二进制中1的个数

image.png

补充:

  • Java的位运算符:html

    • 位逻辑运算符:
      与 &,或 |,非 ~,抑或 ^
      其中抑或的含义:若是对应的二进制位相同(同时为 0 或同时为 1)时,结果为 0;若是对应的二进制位不相同,结果则为 1。
    • 位移运算符
      一、左移<<,低位补零
      二、带符号右移>>,高位补符号
      image.png
      三、无符号右移>>>,高位补零
      image.png
引用:
Java语言位运算符详解
Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符

思路:

输入为二进制数,应该使用位运算。而不是把它当作一个很大的十进制数(个人IDEA把它当作了一个十进制...)
一、n&1,等于1 就res+1
二、n向右移1位spa

操做:

image.png
官方:
一、循环:while(n!=0) 更快
二、res = res + n&1;
image.png.net

相关文章
相关标签/搜索