关于按位操作符
来源:互联网 发布:java获取软件版本号 编辑:程序博客网 时间:2024/06/05 11:03
写一个函数返回参数二进制中1的个数。
当看到这个题目,我的想法肯定是这样的:
#include <stdio.h>#include <stdlib.h>int count_one_bit(unsigned int n){int count = 0;while(n){if(n%2 == 1){count++;} n /= 2;}return count;}int main(){int num = 10;int ret = count_one_bit(num);printf("%d\n",ret);system("pause");return 0;}
int count_one_bit(unsigned int n){int count = 0;int i = 0;for(i=0; i<32; i++){if(n&1 == 1){count++;} n = n >> 1;}return count;}
经过进一步的优化之后:(自我感觉代码完美)
int count_one_bit(unsigned int n){int count = 0;int i = 0;while(n){count++;n = n & (n-1);}return count;}
引申题:
判断一个数是不是2的n次方。
#include <stdio.h>#include <stdlib.h>int main(){int num = 7;if((num & (num-1)) == 0){ printf("Yes\n");}else{printf("No\n");}system("pause");return 0;}
0 0
- 关于按位操作符
- C/C++ 关于按位操作符
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- 关于java按位操作运算
- 按位操作符
- 关于位操作
- c++按位操作符
- c++按位操作符
- c++按位操作符
- c++按位操作符
- c++按位操作符
- c++按位操作符
- c++按位操作符
- Java按位操作符
- Java 按位操作符
- Struts2前后台交互小总结
- 平衡二叉树(AVL树)
- 一篇博客让你了解RxJava
- 黑白图像压缩
- 牛人的一些主页(主页有很多的论文代码)
- 关于按位操作符
- 总结
- 设置div水平垂直居中方法
- Hive笔记二之数据类型,加载方式与hdfs对应关系
- Support Annotation Library使用详解
- 一看就懂的ReactJs入门教程(精华版)
- 51NOD 1110 距离之和最小 V3 三分法
- 魔法王国 乱搞
- ThreadPool使用