博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程之美----求二进制数中1的个数
阅读量:4362 次
发布时间:2019-06-07

本文共 351 字,大约阅读时间需要 1 分钟。

学到的知识点:将一个数和它本身减一作与运算,如果结果为0,说明这个数表示成二进制数时里面有且仅有一个1。于是乎,下面这段代码可以用来求一个数中1的个数。

1 int Count(BYTE v) 2 { 3         int num=0; 4         while(v) 5         { 6                 v &= (v-1); 7                 num++; 8         } 9         return num;10 }
View Code

 另外,如果要求的数位数比较小,可以用hash表来做个预处理,这样可以用o(1)的时间求解。

转载于:https://www.cnblogs.com/wen-ge/p/4082416.html

你可能感兴趣的文章
实验八:接口与实现接口的类
查看>>
[linux] scp无密码拷贝
查看>>
HTML CSS 中DIV内容居中汇总
查看>>
设计模式--工厂方法模式
查看>>
poj2762 缩点+topo排序
查看>>
杂文:计算机的组成及其功能
查看>>
centos下安装lnmp各个版本的几种方法
查看>>
day14
查看>>
iOS开发——使用基于Autolayout的ScrollView
查看>>
c语言 指针的值
查看>>
C语言 百炼成钢11
查看>>
C++运算各版本学习
查看>>
阅读笔记06
查看>>
学习ant——Java的Build工具
查看>>
mysql5.7的新特性
查看>>
JVM运行时数据区域解析
查看>>
idea如何使用subversion创建补丁包
查看>>
面向企业级的开源WebGIS解决方案--MapGuide(对比分析)
查看>>
Android的GridView控件点击图片变暗效果
查看>>
Long 和 Integer
查看>>