进制转换使大家经常会用到的问题,所以在这里记下来。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
main()
{ int i,j,k,z,m;
double x,y;
static char a1[21],a2[11],
bb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
system("cls");
printf("请输入被转化数:");
scanf("%lf",&x);
printf("请输入所转换的进制数:");
scanf("%d",&z);
k=(int) x; y=x-k;
for (i=1;k!=0;i++)
{ a1[i]=bb[k % z];
k/=z; }
a2[0]='.';
for (j=1;j<=10;j++)
{ m=(int) (y*z);
a2[j]=bb[m];
y=y*z-m;}
printf("结果:");
for (i--;i>=1;i--) printf("%c",a1[i]);
for (j=0;j<=10;j++) printf("%c",a2[j]);
}