每天一题:初级华为题库——计算二进制数的0的个数
今日(2014-04-10)开始做华为题库。逐渐纠正自己的一些小问题吧~~
<题目要求>
要求输入一个十进制的数,输出该数的二进制表示中所含的0个数。
思路:通过位运算,可逐位考虑十进制的二进制位,无需先将十进制数转换二进制。
易错点分析:(1)头文件、空间std、main函数格式、返回值;(2)相与的结果是位的结果。
实现具体代码如下:
#include <iostream> using namespace std; int main() { int k; cout<<"Please Enter The Number:"<<endl; cin>>k; int i=0; while(k!=0) { if(!(k&1)) { i++; } k=k>>1; } cout<<"The Number is:"<<i; return 0; }