一、学习要点: 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;
}
三、运行结果