Multiplicacion de Binarios a traves de vectores

Iniciado por Arnold Herrera, 30 Agosto 2015, 20:04 PM

0 Miembros y 1 Visitante están viendo este tema.

Arnold Herrera

Buenos días estoy haciendo un algoritmo de una "calculadora" que me multiplique números binarios de la siguiente manera:

El usuario ingresara dos números en base 10.
la computadora me transformara estos números en base 2 o en binarios.
La computadora me multiplicara los números binarios en base a la tabla or:
1 o 1=1
1 o 0= 0
0 o 1=0
0 o 0= 0
el resultado de la multiplicación de los binarios debe ser transformado nuevamente en base 10.
((no se pueden operar los numero en base 10)
El programa esta hecho en Dev C++

y tengo las siguientes lineas de código
agradecería me ayudaran lo mas pronto posible, lo único faltante es la multiplicación y como hacer que me aparezca el resultado ya que con eso que tengo hay no me bota el resultado de la operacion.


#include<conio.h>
#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main(void){
int cont,num,num2,cont2,i,aux1,aux2,op;
int bin[100];
int bin2[100];
string vec[100][100];
string acarreo[100];

cout<<endl;
cin>>num;
cont=0;
while(num!=1){
bin[cont]=fmod(num,2);
num=floor (num/2);

cont++;

}
bin[cont]=1;

cout<<"Numero binario es: ";
for (int i=cont;i>=0;i--){
cout<<bin[i];

}
cout<<endl;
cin>>num2;
cont2=0;
while(num2!=1){
bin2[cont2]=fmod(num2,2);
num2=floor (num2/2);

cont2++;

}
bin2[cont2]=1;


cout<<"Numero binario es: ";
for (int j=cont2;j>=0;j--){
cout<<bin2[j];

}
cout<<endl;
cout<<"Que operacion utilizara (+) ,(-),(/),(*)\n";
cin>>op;
if(op=='*'){
1*0==0;
0*0==0;
0*1==0;
1*1==1;
for (int i=cont;i>=0;i--){
for (int j=cont2;j>=0;j--){
if(bin[i]*bin2[j]==1*0){
vec[i][j]=(bin[1]*bin2[j]==0);
}
else{
if(bin[i]*bin2[j]==0*0){
vec[i][j]=(bin[i]*bin2[j]==0);
}
else{
if(bin[i]*bin2[j]==0*1){
vec[i][j]=(bin[i]*bin2[j]==0);
}
else(bin[i]*bin2[j]==1*1);{
vec[i][j]=(bin[i]*bin2[j]==1);
}
}
}
}
}
for (int i=cont;i>=0;i--){
for (int j=cont2;j>=0;j--){
cout<<vec[i][j];
}
  }
}






cout<<endl<<"Presione la s";
getch();
;
}

RockPosts

¿A que viene esto? XD

Código (cpp) [Seleccionar]
1*0==0;
0*0==0;
0*1==0;
1*1==1;

ivancea96

CitarLa computadora me multiplicara los números binarios en base a la tabla or:
1 o 1=1
1 o 0= 0
0 o 1=0
0 o 0= 0

Querrás decir la tabla AND.

Citar1 AND 1=1
1 AND 0= 0
0 AND 1=0
0 AND 0= 0

Arnold Herrera

Cita de: RockPosts en  2 Septiembre 2015, 13:01 PM
¿A que viene esto? XD

Código (cpp) [Seleccionar]
1*0==0;
0*0==0;
0*1==0;
1*1==1;


Esla forma es que se supone se debe multiplicar los numeros segun las tablas AND