• 32位无符号整数中1的个数


          4 int bitcount(unsigned int n)
          5 {
          6     n = n - ((n>>1)&033333333333) - ((n>>2)&011111111111);
          7     n = (n + (n>>3))&030707070707;

          8     n = n % 0x3f;
          9     return n;
          10 }

       17 int bitcount(unsigned int n)
         18 {
         19     n = n - ((n>>1)&0x77777777) - ((n>>2)&0x33333333)-((n>>3)&0x11111111);
         20     n = (n + (n>>4))&0xf0f0f0f;

         21     n = n + ((n >> 8) & 0xf) + ((n >> 16) & 0xf) + ((n >> 24) & 0xf);
         22     n = n & 0xff;
         23     return n;                                                                                             
         24 }

         4 int bitcount(unsigned int n)
          5 {
          6     unsigned int tmp;
          7     tmp = n & 0x33333333;
          8     n = n - tmp;
          9     n = (n >> 2) & 0x33333333;
         10     tmp = tmp - ((tmp >> 1) & 0x33333333);
         11     n = n - ((n >> 1) & 0x33333333);
         12     tmp = tmp + n;
         13     n = tmp + (tmp >> 16);
         14     tmp = (n & 0xf) + ((n >> 4) & 0xf) +
         15           ((n >> 8) & 0xf) + ((n >> 12) & 0xf);
         16     tmp = tmp & 0xff;
         17     return tmp;
         18 }

        int bitcount(unsigned int n)

    {

      unsigned x;

          x = (n >> 1) & 0x77777777;

          n = n - x;

          x = (x >> 1) & 0x77777777;

          n = n - x;

          x = (x >> 1) & 0x77777777;

          n = n -x;

          x = (n + (n >> 16));

          n =  (n & 0xf) + ((n >> 4) & 0xf) + ((n >> 8) & 0xf) + ((n >> 12) & 0xf);

           x = n & 0xff;

          return x;

    }

  • 相关阅读:
    如何在外部获取当前A标签的ID值
    获取<a>标签值</a>的标签值及更改
    Mysql : Maximum execution time of 30 seconds exceeded
    Ajax+PHP实现的进度条--实例
    HTML控件 隐藏
    Ajax学习--理解 Ajax 及其工作原理
    XMLHttpRequest 对象属性参数参考
    七、smarty--缓存的控制
    六、smarty-缓存控制前的页面静态化原理
    Java 的 List 与 Scala 的 Seq 相互转换
  • 原文地址:https://www.cnblogs.com/openix/p/2687774.html
Copyright © 2020-2023  润新知