C语言二进制转十进制的技巧性方法

来源:互联网 发布:查看linux系统版本命令 编辑:程序博客网 时间:2024/05/17 22:11

简单的十进制与二进制之间的转化就不说了,大家应该都懂,网上也有很多的类似的文章,自己都可以搜到,今天想说的是一种新方法,或许大神们已经知道,但是我还不是很了解,想记录一下这个巧方法。很简洁但很巧妙的方法。

int readint(int a)  //a 是传入二进制位数{      int sum = 0;       while (a--) {        sum *=2;        sum += getchar() - '0';  // getchar 读入相应十进制的每一位     }    return sum;  // sum 是相应的十进制}

原理:
x1 + x2*2 + x3*2^2 + x4*2^3
每次提取一个2 得到:
x1 + 2(x2+2(x3+2x4))
像这样每次提取个 2 ,就可以看到原理了

这个方法挺简单但有一定技巧性

原创粉丝点击