只用于非负整数
#include<stdio.h>//上个程序是从十进制到任意进制的转换,这个程序是二进制(Binary)八进制(Octonary)十进制(Decimalism)十六进制(Hexadecimal)
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
void Binary_To_Decimalism(char base[])
{
int length = strlen(base);
//printf("%d\n",length);
int index;
long long decimalismtemp = 0;
for(index=0;index<length;index++)
{
decimalismtemp += (base[index]-'0')*(int)pow(2.0,length-1-index);
//printf("%d\n",(base[index]-'0')*(int)pow(2.0,length-1-index));
}
printf("%lld\n",decimalismtemp);
}
void Binary_To_Octonary(char base[])
{
int length = strlen(base);
int index;
long long decimalismtemp = 0;
for(index=0;index<length;index++)
{
decimalismtemp += (base[index]-'0')*(int)pow(2.0,length-1-index);
//printf("%d\n",(base[index]-'0')*(int)pow(2.0,length-1-index));
}
char Dec[40];
itoa(decimalismtemp,Dec,10);
Decimalism_To_Octonary(Dec);
}
void Binary_To_Hexadecimal(char base[])
{
int length = strlen(base);
int index;
long long decimalismtemp = 0;
for(index=0;index<length;index++)
{
decimalismtemp += (base[index]-'0')*(int)pow(2.0,length-1-index);
//printf("