一句话实现 int a,int b
找a的二进制1在b中也出现的位数

解决方案 »

  1.   

    a&b好像是吧?
    回复内容太短了! 
      

  2.   

    做&运算后只能得到a和b位上全是1的这个数,但还要求有多少个1
      

  3.   

    这样可以吗?
    因为我比较懒, 所以写了byte的, 因为byte只有7位                (a & b) & 1 +
                    ((a & b) >> 1) & 1 +
                    ((a & b) >> 2) & 1 +
                    ((a & b) >> 3) & 1 +
                    ((a & b) >> 4) & 1 +
                    ((a & b) >> 5) & 1 +
                    ((a & b) >> 6) & 1 +
                    ((a & b) >> 7) & 1;
      

  4.   

                List<int> ps = new List<int>();
                for (int i = 0; i < Convert.ToString(a& b, 2).ToCharArray().Length; i++)
                {
                    if (var.Equals('1'))
                    {
                        ps.Add(i);
                    }
                }
      

  5.   

    new Regex("1").Matches(Convert.ToString(a&b, 2)).Count