如何判断主力出货:c语言:输入:x和一个10进制数,输出:该数的x进制(除留余法)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 15:08:53
帮我找个10进制转2进制的就行了

/*
版权所有 陈冠钢
*/

#include<stdio.h>

char sum[100],num=0;

void conv10tox(int x,int number) /*将10进制转换为x进制*/
{
int q=1,temp;
while(number>0)
{
temp=(number%x);
if(temp>=0 && temp<=9) /*要转换的进制小于10*/
{
sum[num]=temp+48;
}
else if(temp>=10 && temp<=15) /*要转换的进制大于10则10为A...15为F*/
{
sum[num]=temp+55;
}

number/=x;
num++;
}
}

void main()
{
int x,number,i;
printf("enter x and decimal system :\n");
scanf("%d %d",&x,&number);

conv10tox(x,number);
printf("\n");
for(i=num-1;i>=0;i--)
printf("%c",sum[i]);
printf("\n");
}

char data[50];
int dd=0;
cin>>data;
cin>>dd;
int i=0;
while(data[i++]!='\0');
i-=2;
int j=1;
while(j++){
for(;i>=0;i--){
int bit=(int)(data[i])-(int)('0');//得到X进制的i位的值
int temp=dd%j;
dd=(int)(dd/j);
if(bit!=temp)break;
}
if(i==-1){cout<<j;break;}
}
完成
不过这个只针对整数的,呵呵,因为你没说小数哦
说一下:10进制整数转化成X进制时要除X取余,这面就是利用了这个。