请编写一个 C 函数,该函数给出一个字节中8二进制数中为1的个数

xiaoxiao2021-03-01  17

一、学习要点: 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; }

三、运行结果

转载请注明原文地址: https://www.6miu.com/read-3350353.html

最新回复(0)