Ingeniero Electrico
Convertir el número 15310 a binario.
15310 = 2^5+ 2^4+ 2^3+ 2^0= 128 + 16 +8 +1
15310= 100110012
50 = 32 + 16 + 2. Por lo tanto: 110010
(a) 12 = 8 + 4 = 2^3 + 2^2 1 1 0 0
(b) 25 = 16 + 8 + 1 = 2^4 + 2^3 + 2^0 1 1 0 0 1
(c) 58 = 32 + 16 + 8 + 2 = 2^5 + 2^4 + 2^3+ 2^1 1 1 1 0 1 0
(d) 82 = 64 + 16 + 2 = 2^6 + 2^4 + 2^1 1 0 1 0 0 1 0
Binario a decimal
Para realizar la conversión de binario a decimal, realice lo siguiente:
1. Inicie por el lado derecho del número en binario, cada cifra multiplíquela por 2 elevado a la potencia consecutiva (comenzando por la potencia 0, 20).
2. Después derealizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.
Ejemplos:
* (Los números de arriba indican la potencia a la que hay que elevar 2)
Conversión de la parte fraccionaria: 0.86
Primero colocamos la fracción en la esquina izquierda Para convertir una fracción a binario, utilizamos la multiplicación repetitiva. En nuestroejemplo, para convertir 0.86 a binario, multiplicamos la fracción por 2 ; el resultado es 1.72. La parte entera del resultado es 1, se extrae y se vuelve el digito a binario en el extremo izquierdo. Ahora multiplicamos por 2 la parte fraccionaria (0.72) para obtener 1.44.De nuevo se extrae la parte entera del resultado y se vuelve el siguiente digito binario Este proceso se continua hasta que laparte fraccionaria se vuelve 0 o cuando se llega al límite del numero de bits que se pueden usar. En el siguiente cuadro resumen se aprecia todo el proceso:
0.86 | 1.72 | 1.44 | 0.88 | 1.76 | 1.52 | 1.04 | 0.08 | 0.16 | 0.32 | 0.64 | 1.28 | 0.56 | 1.12 | 0.24 | 0.48 | 0.96 | 1.92 |
0. | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| | | | | | | | | | | || | | |
| | | | | | | | | | | | | | | |
| | | |
| | | |
Fracción binaria: 0.11011100001010001
El numero de punto flotante 103.86 corresponde 1100111. 11011100001010001 (en binario).
//Ejemplo de la libreria CBases.h
//El programa convierte de Decimal a Binario
//y de Binario a Decimal
//Autor: A. Juarez
//Pagina:http://www.geocities.com/ajuarezoliveros/Programacion.html
#include "CBases.h"
#include <iostream>
using namespace std;
class CDemo
{
private:
CBases *Base;
int Menu();
public:
CDemo();
~CDemo();
void Main();
};
CDemo::CDemo()
{
cout << "Programa que convierte de Decimal a Binario" << endl;
cout << "y de Binario a Decimal" << endl;
cout << endl;
Base=newCBases();
}
CDemo::~CDemo()
{
delete [] Base;
}
int CDemo::Menu()
{
int iOpc;
cout << "1.- Decimal a Binario " << endl;
cout << "2.- Binario a Decimal" << endl;
cout << "3.- Salir" << endl;
cout << "Opcion: ";
cin >> iOpc;
return iOpc;
}
void CDemo::Main()
{
int Opc,iNum;
string strNum;
Opc=Menu();
while(Opc!=3){switch(Opc){
case 1: cout << endl;
cout << "Introduce un numero en base 10: ";
cin >> iNum;
cout << iNum << " en base binaria es: " << Base->Dec2Bin(iNum,16) << endl;
cout << endl;
break;
case 2: cout << endl;
cout << "Introduce un numero en base 2: ";
cin >> strNum;cout << strNum << " en base decimal es: " << Base->Bin2Dec(strNum) << endl;
cout << endl;
break;
case 3: break;
default: cout << "Opcion incorrecta." << endl;
break;
}
Opc=Menu();
}
system("pause");
}
int main(int argc,char *argv[])
{
CDemo d;
d.Main();
return 0;
}
#include <stdio.h>
#include...
Regístrate para leer el documento completo.