博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员面试题100题第22题——整数2进制表示中1的个数
阅读量:6347 次
发布时间:2019-06-22

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

题目:输入一个整数n,求n的2进制表示中1的个数

分析可得:n&(n-1)的操作是将n的2进制表示中最右边的1变成0;

所以能得到对应的代码:

int numOf1(int n){    int count=0;    while(n)    {        count++;        n=n&(n-1);    }    return count;}

同理判断n是不是2的整数次幂

return !(n&(n-1));

 

转载于:https://www.cnblogs.com/zjhnl/archive/2012/10/01/2709931.html

你可能感兴趣的文章
矩形覆盖
查看>>
ICMP
查看>>
界面设计模式(第2版)(全彩)
查看>>
解决VMware Workstation错误:未能锁定文件
查看>>
CentOS6 手动编译升级 gcc
查看>>
memcached的安装与开启脚本
查看>>
zabbix 邮件报警 -- sendmail
查看>>
JavaScript异步编程
查看>>
tcpdump用法小记
查看>>
MySQL基础安全注意细节
查看>>
Oracle随机函数—dbms_random
查看>>
pvr 批量转换
查看>>
linux命令basename使用方法
查看>>
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
2015.06.04 工作任务与心得
查看>>
icinga2使用587端口发邮件
查看>>