Implementación del lenguaje C de conversión base

Implementación del lenguaje C de conversión base

Archivos de encabezado obligatorios

#include <stdio.h>
#include <string>
#include <string.h>
#include <map>
#include <iostream>

using namespace std;

Decimal a binario
//
Cadena decimal a binaria Decimal_to_Binary (int decimal, int bits) // Decimal es el número decimal que se va a convertir, bits son los dígitos de salida

{
 char bin[bits+2];
 bin[0] = '0';
 bin[1] = 'b';
 
 
 int quotient = decimal; //商
 int remainder = 0; //余数
 
 int i;
 
 for(i=bits+2; i>2; i--)
 {
  remainder = quotient % 2;
  switch(remainder)
  {
   case 0:
    {
     bin[i-1] = '0';
     break;
    }
   case 1:
    {
     bin[i-1] = '1';
     break;
    }
   default:
    {
     break;
    }
  }
  quotient = quotient / 2;
 }
 return bin;
}

Decimal a octal
//
Cadena decimal a octal Decimal_to_Octal (int decimal, int bits) // Decimal es el número decimal que se va a convertir, bits son los dígitos de salida

{
 char octal[bits+1];
 octal[0] = '0';
 
 
 int quotient = decimal; //商
 int remainder = 0; //余数
 
 int i;
 
 for(i=bits+1; i>1; i--)
 {
  remainder = quotient % 8;
  switch(remainder)
  {
   case 0:
    {
     octal[i-1] = '0';
     break;
    }
   case 1:
    {
     octal[i-1] = '1';
     break;
    }
   case 2:
    {
     octal[i-1] = '2';
     break;
    }
   case 3:
    {
     octal[i-1] = '3';
     break;
    }
   case 4:
    {
     octal[i-1] = '4';
     break;
    }
   case 5:
    {
     octal[i-1] = '5';
     break;
    }
   case 6:
    {
     octal[i-1] = '6';
     break;
    }
   case 7:
    {
     octal[i-1] = '7';
     break;
    }
   default:
    {
     break;
    }
  }
  quotient = quotient / 8;
 }
 return octal;
}

Decimal a hexadecimal
//
Cadena de decimal a hexadecimal Decimal_to_Hexadecimal (int decimal, int bits) // Decimal es el número decimal a convertir, bits son los dígitos de salida

{
 char hexadecimal[bits+2];
 hexadecimal[0] = '0';
 hexadecimal[1] = 'x';
 
 
 int quotient = decimal; //商
 int remainder = 0; //余数
 
 int i;
 
 for(i=bits+2; i>2; i--)
 {
  remainder = quotient % 16;
  switch(remainder)
  {
   case 0:
    {
     hexadecimal[i-1] = '0';
     break;
    }
   case 1:
    {
     hexadecimal[i-1] = '1';
     break;
    }
   case 2:
    {
     hexadecimal[i-1] = '2';
     break;
    }
   case 3:
    {
     hexadecimal[i-1] = '3';
     break;
    }
   case 4:
    {
     hexadecimal[i-1] = '4';
     break;
    }
   case 5:
    {
     hexadecimal[i-1] = '5';
     break;
    }
   case 6:
    {
     hexadecimal[i-1] = '6';
     break;
    }
   case 7:
    {
     hexadecimal[i-1] = '7';
     break;
    }
   case 8:
    {
     hexadecimal[i-1] = '8';
     break;
    }
   case 9:
    {
     hexadecimal[i-1] = '9';
     break;
    }
   case 10:
    {
     hexadecimal[i-1] = 'a';
     break;
    }
   case 11:
    {
     hexadecimal[i-1] = 'b';
     break;
    }
   case 12:
    {
     hexadecimal[i-1] = 'c';
     break;
    }
   case 13:
    {
     hexadecimal[i-1] = 'd';
     break;
    }
   case 14:
    {
     hexadecimal[i-1] = 'e';
     break;
    }
   case 15:
    {
     hexadecimal[i-1] = 'f';
     break;
    }
   default:
    {
     break;
    }
  }
  quotient = quotient / 16;
 }
 return hexadecimal;
}

Binario a decimal
// Binario a decimal
int Binary_to_Decimal (char Binary []) // Decimal es el número binario que se va a convertir, prefijo "0b" cuando se ingresa

{
 int length = strlen(Binary);
 int i;
 int decimal = 0;
 for(int i=2; i<length; i++)
 {
  decimal = decimal * 2;
  switch(Binary[i])
  {
   case '0':
    {
     break;
    }
   case '1':
    {
     decimal = decimal + 1;
     break;
    }
   default:
    {
     break;
    }
  }
 }
 return decimal;
}

Octal a Decimal
// Octal a Decimal
int Octal_to_Decimal (char Octal []) // Decimal es el número binario que se va a convertir y el prefijo "0" cuando se ingresa

{
 int length = strlen(Octal);
 int i;
 int decimal = 0;
 for(int i=1; i<length; i++)
 {
  decimal = decimal * 8;
  switch(Octal[i])
  {
   case '0':
    {
     break;
    }
   case '1':
    {
     decimal = decimal + 1;
     break;
    }
   case '2':
    {
     decimal = decimal + 2;
     break;
    }
   case '3':
    {
     decimal = decimal + 3;
     break;
    }
   case '4':
    {
     decimal = decimal + 4;
     break;
    }
   case '5':
    {
     decimal = decimal + 5;
     break;
    }
   case '6':
    {
     decimal = decimal + 6;
     break;
    }
   case '7':
    {
     decimal = decimal + 7;
     break;
    }
   default:
    {
     break;
    }
  }
 }
 return decimal;
}

Hexadecimal a decimal
// Hexadecimal a decimal
int Hexadecimal_to_Decimal (char Hexadecimal []) // Decimal es el número binario que se va a convertir y el prefijo "0x" cuando se ingresa

{
 int length = strlen(Hexadecimal);
 int i;
 int decimal = 0;
 for(int i=2; i<length; i++)
 {
  decimal = decimal * 16;
  switch(Hexadecimal[i])
  {
   case '0':
    {
     break;
    }
   case '1':
    {
     decimal = decimal + 1;
     break;
    }
   case '2':
    {
     decimal = decimal + 2;
     break;
    }
   case '3':
    {
     decimal = decimal + 3;
     break;
    }
   case '4':
    {
     decimal = decimal + 4;
     break;
    }
   case '5':
    {
     decimal = decimal + 5;
     break;
    }
   case '6':
    {
     decimal = decimal + 6;
     break;
    }
   case '7':
    {
     decimal = decimal + 7;
     break;
    }
   case '8':
    {
     decimal = decimal + 8;
     break;
    }
   case '9':
    {
     decimal = decimal + 9;
     break;
    }
   case 'a':
    {
     decimal = decimal + 10;
     break;
    }
   case 'b':
    {
     decimal = decimal + 11;
     break;
    }
   case 'c':
    {
     decimal = decimal + 12;
     break;
    }
   case 'd':
    {
     decimal = decimal + 13;
     break;
    }
   case 'e':
    {
     decimal = decimal + 14;
     break;
    }
   case 'f':
    {
     decimal = decimal + 15;
     break;
    }
   default:
    {
     break;
    }
  }
 }
 return decimal;
}

Supongo que te gusta

Origin blog.csdn.net/apple_52246384/article/details/110789220
Recomendado
Clasificación