ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ALGORITMO DE BOOTH


Enviado por   •  20 de Mayo de 2013  •  3.045 Palabras (13 Páginas)  •  475 Visitas

Página 1 de 13

#include<iostream>

using namespace std;

//*******************FUNCION PARA NUMERO POSITIVO A BINARIO********//

void binariopos(int N,int A[100],int n);

//*****************************************************************//

//*******************FUNCION PARA NUMERO NEGATIVO A BINARIO********//

void binarioneg(int N,int A[100],int n);

//*****************************************************************//

//*******************SUMA DOS NUMEROS EN BINARIO*******************//

void sumar(int A[100],int B[100],int bits);

//*****************************************************************//

//---------------------------------------------------------------//

//***************************PROGRAMA PRINCIPAL******************//

//---------------------------------------------------------------//

int main()

{

while(1)

{

system("cls");

system("color 4F");

///***Primer digito fondo y el segundo letra Color*********//

int mdo,mdr; //*****Numeros Ingresados****//

int MDO_10[100]; //***MDO EN BINARIO***//

int MDO_01[100]; //***MDO EN BINARIO***//

int MDR[100]; //***MDR EN BINARIO***//

int Aux[100]; //**AUXILIAR PARA NUMERO BINARIO**//

int aux1,aux2,aux; //**AUXILIARES PARA LOS BITS**//

int bits1=0,bits2=0,bits; //**BITS DE CADA NUMERO**//

int AC[100]; //*REGISTROS ACUMULADOR*//

int QN=0; //*BIT ADICIONAL*//

cout<<endl<<"\t\t\tALGORITMO DE BOOTH";

//********************************************************//

cout<<endl<<endl<<" ->> MULTIPLICANDO :";

cin>>mdo;

//****************************NUMERO DE BITS DEL MDO*************//

aux=mdo;

do

{

aux=aux/2;

bits1++;

}

while(aux!=0);

//***********************************************************//

cout<<endl<<" ->> MULTIPLICADOR :";

cin>>mdr;

//****************************NUMERO DE BITS DEL MDO***************//

aux=mdr;

do

{

aux=aux/2;

bits2++;

}

while(aux!=0);

//**************************************************//

//******************MAYOR NUMERO BITS*****************//

if(bits1>bits2)

bits=bits1;

else

bits=bits2;

bits=bits+1;

//*****************************************************//

//*******MUESTRA EL VALOR DEL MDO DEPENDIENDO DEL SIGNO***********//

cout<<endl<<endl<<endl<<" ->> MULTIPLICANDO :";

if(mdo<0)

{

binarioneg(mdo,MDO_01,bits);

//*** PASO A BINARIO EL MDO_01 ***//

for(int i=0;i<bits;i++)

cout<<MDO_01[i];

}

else

{

binariopos(mdo,MDO_10,bits);

//*** PASO A BINARIO EL MDO_10 ***//

for(int i=0;i<bits;i++)

cout<<MDO_10[i];

}

//**************************************************//

//***TRUCO :MACENA EL MDO EN BINARIO DEPENDIENDO DEL SIGNO***//

...

Descargar como (para miembros actualizados)  txt (11.6 Kb)  
Leer 12 páginas más »
Disponible sólo en Clubensayos.com