计算一个字节里有多少位被置1

来源:互联网 发布:淘宝会员名字叫什么好 编辑:程序博客网 时间:2024/05/06 08:33

//calculate.c

#include <stdio.h>

#define BIT7 (0x01 << 7)

int calculate(unsigned char c) {

int count = 0;

int i = 0;

unsigned char comp = BIT7;

for(i = 0; i < sizeof(c)*8; i++) {

if((c & comp) != 0) {

count++;

}

comp = comp >> 1;

}

return count;

}

int main(int argc, char *argv[]) {

unsigned char c = 0;

int count = 0;

printf("c = ");

scanf("%d", &c);

count = calculate(c);

printf("count = %d\n", count);

return 0;

}

0 0
原创粉丝点击