一、学习要点:
1.&1的深刻理解,只有1&1才为真,1的八进制表示00000001,可以很好的统计每个字节最右边的位是否为1.
2.二进制中,位运算符>>i,右移i位的意思.
3.若想取的一个数据的最低位,&1即可.
二、代码:
#include<iostream>
#include<stdlib.h>
using namespace std;
unsigned int charonecount(char log)//声明
int main(){
char ch;
unsigned int sum;
cout<<"请输入一个字节:"<<endl;
cin>>ch;
sum=charonecount(ch);
count<<sum;
system("pause");
return 0;
}
unsigned int charonecount(char log){//实现
unsigned int count=0;
int i;
char val;
for(i=0;i<8;i++){
val=log>>1;//移位
val=val&1;
if(val){
count++;
}
}
return count;
}
三、运行结果