【C语言】逆转二进制数的几种方法
来源:互联网 发布:电子元件查询软件 app 编辑:程序博客网 时间:2024/06/04 19:10
比如输入10(1010)
输出 5(101)
代码有三种:
最笨的方法循环:
int fuc(int x){int count=0;int num=0;int n=x;while(n!=0){n/=2;count++;}while(x!=0){if(x%2==1)num+=(int)pow(2,count-1);x/=2;count--;}return num;}
快速方法位运算:
int fuc2(int x){int ret=0;while(x!=0){ret=ret|(x&1);x=x>>1;if(x!=0)ret=ret<<1;}return ret;}
位运算的递归写法:
int fuc3(int x,int ret){ret=ret|(x&1);if(x>>1!=0) {int num=fuc3(x>>1,ret<<1);return num;}return ret;}
1 0
- 【C语言】逆转二进制数的几种方法
- 二进制数的几种表示方法
- C 语言中书写二进制数的方法;
- 单链表的逆转 C语言
- C语言:字符串的逆转
- C语言 两种方法求一个十进制无符号数的二进制数中1的个数
- 字符数组或字符串逆转的几种方法
- C语言浮点数的二进制表示
- 【C语言】得到浮点数的二进制
- 【c语言】多种方法:将十进制数转化成二进制数,计算其中1的个数
- 【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)
- c语言实现比特位的逆转
- 写一个函数返回参数二进制数中1的个数的几种方法
- 二进制数中返回1的个数的几种方法
- 逆转字符串 C语言
- 数组逆转的几种方式
- 二进制的几种编码表示方法
- (c语言)求一个二进制数1的个数
- C语言编程(练习5:循环,三大循环结构 )
- win8 系统安装python 2.7 【问题解决】--mindfusion 解决--2-5
- java内存溢出跟踪解决思路
- 两个高斯函数的卷积仍为一高斯函数
- HDU - 1754 I Hate It (线段树)
- 【C语言】逆转二进制数的几种方法
- 火狐浏览器禁止javaScript
- MySQL系列:innodb源码分析之page结构解析
- java解惑之表达式之谜(谜题3)
- 嵌入式的没落
- TEST
- hdu_2072_统计单词数_set_检测字符串
- 【C语言】二分查找法
- javascript定时器,取消定时器,及js定时器优化方法