zoukankan      html  css  js  c++  java
  • 二进制中的个数(JAVA)

    二进制中的1的个数
      

      题目描述

      输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
        
        思路:用位运算来进行移1操作。(首先得知道数在计算机中都是以01来放置的)
          1,若由一个数11100,当其减1为11011,即减1后会将该数最右边的1变为0,且后续的所有数取反。
          2,将两数相与,则为11000,此时最右边的1变为0了,且其他数不变。此时1个数加1。
          3,重复1,2操作,直至该数变为0,此时得到该数所有1的个数。
          
          代码很简单,如下。
          
    1     public int NumberOf1(int n) {
    2         int count = 0;
    3         while(n!=0){
    4             count++;
    5             n = n&(n-1);
    6         }
    7         return count;
    8     }
     
  • 相关阅读:
    第二期冲刺会议3
    第二期站立会议2
    意见汇总及改进方案
    第二期站立会议1
    第一期站立会议7
    第一期站立会议6
    第一期站立会议5
    第一期站立会议4
    第一期站立会议3
    第一期站立会议2
  • 原文地址:https://www.cnblogs.com/ztqup666/p/9237913.html
Copyright © 2011-2022 走看看