引例:
输入一个十进制正整数,将它对应的二进制数的各位反序,形成新的十进制数输出。
标码:
#include <stdio.h>
int main()
{
int x,y,t;
scanf("%d",&x);
y=0;
while( x ){
t=x%2;
y=2*y+t;
x/=2;
}
printf("%d\n",y);
return 0;
}
其中最关键的一步是
y=2*y+t;
从此我们可以看到一个一般规律:
对于十进制:我们用的是y=10*y+t来加上后面的数
那么对于十进制以下的转换都可以用下面的公式来表示
y=d*y+t;//d代表该进制的权
对于大于十进制的进制转换问题,则需要对字母部分特殊处理