统计一个字符串中bit为1的个数
2016-09-22 20:19
176 查看
今天遇到的一个问题,感觉自己的代码效率不高
编写一个函数,实现统计一个字符串中bit为1的个数
编写一个函数,实现统计一个字符串中bit为1的个数
#include <stdio.h> //方法1 int str_bit_count(char * p) { int count = 0,sum = 0; int n = 0; while((*p) != '\0') { n = *p; for(count=0;n;n>>=1) { count += n&1; } sum += count; p++; } return sum; } //方法2 int str_bit_count2(char * p) { int count = 0,sum = 0; int n; while((*p) != '\0') { n = *p++; count = 0; while(n) { n &= (n-1); count++; } sum += count; } return sum; } int main(void) { char a[] = "1111"; int sum = 0; int sum1 = 0; sum = str_bit_count(a); sum1 = str_bit_count2(a); printf("%d %d\n",sum,sum1); }
相关文章推荐
- 统计字符串中出现某子串的次数的一个算法【csdn总结】
- c++ 程序 统计一个字符串内的正整数和负整数个数
- 统计一个字符串中出现的字符及其次数
- 一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
- (Map实现)有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- 统计一个字符串在另一个字符串里的个数
- 统计一个字符串中英文字母的个数及各个字母出现的次数
- 统计一个字符串中字母、数字,空格及其他的个数
- 这是一个用java语言编写的统计字符串出现次数的代码
- javascript判断一个字符串中出现次数最多的字符,统计这个次数
- 统计一个字符串在另一个字符串中出现的次数
- 一个笔试面试经常问的问题——统计字符串中出现最多的字符及次数
- 统计一个字符串在固定的宽度内几行能写完。
- 今天用Map集合写了一个字符串字符统计的程序,看集合看的头痛,就看了一下GUI,于是就随便记点。
- 【练手】写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
- 统计任意长度字符串中各个字符及个数——计数排序的又一个应用
- [每周一算法]统计在一个字符串中各个不同字符出现的次数
- 统计一个字符串中字符出现的次数(带上机课时候发现学生都有很好的思路bitmap)
- 统计一个字符串中大写字母,小写字母,以及数字的个数。
- 分割字符串(有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数)