博客
关于我
位运算符 按位与 &——整数n的二进制数中1的个数
阅读量:278 次
发布时间:2019-03-01

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

整数n的二进制数中1的个数

编写一个函数,输入是一个整数,返回其二进制表达式中数字位数为 ‘1’ 的个数

代码如下:

int func(int n)//char ch{   	 int count = 0;         while(n > 0)          {               count++;              n&=(n-1);          }         return count;}

原理:n&(n-1) 按位与 每计算一次,低位减一

二进制8与自身减一进行按位与操作
如上图中二进制8与自身减一进行按位与操作
二进制3与自身减一进行按位与操作
如上图二进制3与自身减一进行按位与操作

-由此可的:

  • 8的二进制中有一位1,因此进行了一次该操作后变为0
  • 3的二进制中有两位1,进行两次该操作后变为0

则n&=(n-1)运算的次数可以表示用来表示n的二进制中1的位数

原题链接:

转载地址:http://jwso.baihongyu.com/

你可能感兴趣的文章
NLTK - 停用词下载
查看>>
nmap 使用总结
查看>>
nmap 使用方法详细介绍
查看>>
nmap使用
查看>>
nmap使用实战(附nmap安装包)
查看>>
Nmap哪些想不到的姿势
查看>>
Nmap扫描教程之Nmap基础知识
查看>>
nmap指纹识别要点以及又快又准之方法
查看>>
Nmap渗透测试指南之指纹识别与探测、伺机而动
查看>>
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>