计算二进制数的0的个数
来源:互联网 发布:保罗米尔萨普数据 编辑:程序博客网 时间:2024/05/13 10:23
输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。
输入:要计算的十进制非负数
输出:
二进制中第一个1之后0 的个数
思路:一个整形32位最多移动32次,先找出最左边一个1的位置,判断条件 a=1<<i;if((num&a)==a) 然后设立标志位开始计数0的个数
#include<iostream>#include<cstdlib>#include<cstdio>#include<string>#include<set>using namespace std; //思路一个整形32位最多移动32次,先找出最左边一个1的位置,判断条件 a=1<<i;if((num&a)==a) 然后设立标志位开始计数0的个数int numberOfBitZero(unsigned num){ unsigned int a=1; bool flag=false; int count=0; char buffer1[100]; for(int i=31;i>=0;i--) { a=1<<i; if(num&a)//此次的条件尤其注意,可以写成if((num&a)==a) { flag=true; } if(flag==true) { if((num&a)==0) { count++; } } } return count;}int main(){ unsigned int a; cin>>a; cout<<numberOfBitZero(a)<<endl; return 0;}
0 0
- 计算二进制数的0的个数
- 计算二进制数的0的个数
- 计算二进制数的0的个数
- 计算二进制数中1的个数
- 计算二进制数中1的个数
- 计算二进制数中1的个数
- 计算二进制数中1的个数
- 计算二进制数中1的个数
- 计算二进制数低位连续是0的个数
- 计算一个数的二进制数中1的个数
- 计算二进制数中1的个数的快速算法
- 计算一个数的二进制中1的个数
- 计算一个数的二进制表示中1的个数
- 转载关于计算二进制数中1的个数
- 计算一个数二进制中1的个数
- C语言--计算二进制数中1的个数(&)
- 动态规划之计算二进制数中1的个数
- O(1)计算一个二进制数1的个数以及反转一个二进制数
- hdu 1030 数学题加观察
- Linux内核进程切换
- websphere停止服务,删除概要文件
- python中string的操作函数
- linux下统计程序/函数运行时间
- 计算二进制数的0的个数
- C++技巧之STL(持续更新)
- Palindrome Linked List
- 强制要求JVM始终抛出含堆栈的异常(-XX:-OmitStackTraceInFastThrow)
- IOS-NSRunLoop
- Android Volley 完全解析
- 超详细单机版搭建hadoop环境图文解析
- IOS开发单元格自定义方法之一
- 编程开发学习资料必备