#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int pow(int m ,int n )
{ int k;
int s;
if(1 == n)
{
returnn;
}
elseif( n > 1 )
{
k= n / 2;
s= pow ( m,k );
if(n % 2==0 )
{
return s*s;
}
else
{
return s*s*m;
}
}
}
void Displaybit(long int m)
{
intn=32,t=0;
unsigneds=1<<(30);
for(t=0;t<=16;t++)
{
putchar(m& s?'1':'0');
s=s>>2;
}
}
int main(int argv ,char argc[])
{
inti;
chara[33]="0";
longint sum;
printf("Inputa 32bit binary number\n");
scanf("%s",a);
for(i = 0;i < strlen(a);i++)
{
sum+=(a[i] - '0' )*pow( 2,strlen(a)-1-i );
}
printf("Theresult is:%d\t", sum);
Displaybit(sum);
printf("\n");
system("pause");
return0;
}
二进制转换为十进制
最新推荐文章于 2024-06-04 15:13:58 发布