十进制转换为任意进制
#include <stdio.h>
int i=0;
void turn(int num,int kind)
{
if(num==0)
{
if(i==0)
printf("0");
return;
}
i++;
turn(num/kind,kind);
if(num%kind<=9)
printf("%d",num%kind);
else
printf("%c",num%kind+55);
}
int main()
{
int num;
int kind;
while(scanf("%d%d",&num,&kind)!=EOF)
{
i=0;
if(num<0)
{
printf("-");
num = -num;
}
turn(num,kind);
printf("\n");
}
}
二进制转换十进制
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
typedef long long ll;
typedef double de;
typedef char ar;
int main()
{
ar a[9999999];
while(cin>>a)
{
ll n=strlen(a),sum=0,x=1,t=0,k=1;
if(a[0]=='-')
{
t=1;
k=-1;
}
for(ll i=n-1; i>=t; i--)
{
if(a[i]=='1')
sum=sum+x;
x=2*x;
}
cout<<sum*k;
}
}