编写一个c函数,该函数给出一个字节中被置为1的位的个数
2017-08-06 20:07
543 查看
#include <stdio.h> int func(char ch) { int i; int n=0; for(i=0;i<8;i++) { if((ch>>i)&1==1) { n++; } } return n; } int main() { char ch; scanf("%c",&ch); int n = func(ch); printf("%d\n",n); return 0; }
首先我们知道在内存里面所有的东西都是由0,1组成的,一个字符里面有8个字节,所有有个外循环8次;
每次对ch右移i个位置并与1取&,如果结果为1证明当前位置的最低位是1,令计数的n++就能得到最终需要的1的个数。
相关文章推荐
- 位运算训练01—请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 2.1 题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- .题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- Linux_C练习:请编写一个c函数,该函数给出一个字节中被置为1的位的个数;(位运算)
- 编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- 请编写实现malloc()内存分配函数功能一样的代码。给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个
- 截取字符串(编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输...)
- 给出一个函数,来复制两个字符串A,B ,字符串A的后几个字节和字符串B的前几个字节重叠
- C++ - 给出一个函数来连接两个字符串A和B,其中字符串A的后几个字节和字符串B的前几个字节重叠
- C 函数:该函数给出一个字节中被置 1 的位的个数
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 请编写一个C函数,该函数将一个字符串逆序