进制数转换C语言实现
十进制转二进制
//十进制转二进制C语言实现
#include <stdio.h>
int Transformation(int num)
{
int result = 0,n = 1,i,temp;
temp = num;
while(temp)
{
i = temp % 2;
result = n * i + result;
n *= 10;
temp = temp / 2;
}
return result;
}
int main(void)
{
int num,result;
printf("请输入一个十进制数:");
scanf("%d",&num);
result = Transformation(num);
printf("%d的二进制数为0B%d\n",num,result);
}
二进制转十进制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[17];
printf("请输入一个二进制数:0B");
gets(a);
int len,i,sum = 0,m,j;
len = strlen(a);
if(len <= 16)
{
for(i = 0;i < len;i++)
{
m=1;
if(a[i] == '1')
{
for(j = 1;j <= len - i - 1;j++)
m *= 2;
sum += m;
}
}
printf("十进制数为:%d\n",sum);
}
return 0;
}
还没有评论,来说两句吧...