Está en la página 1de 8

Gabriel Martin Montiel

91823

K049

Arquitectura de computadoras

Mtro. Juan Manuel Amezcua Ortega

4. Calculadora binaria II

El Tephé, Ixmiquilpan, Hidalgo, México.


Instrucciones para el uso correcto de la calculadora.
1. Al abrir el programa se desplegará un menú de opciones.
2. Seleccionar del menú que operación desea realizar, oprimiendo la tecla indicada.
Presione tecla 1 para SUMA.
Presione tecla 2 para RESTA.
Presione tecla 3 para AND.
Presione tecla 4 para OR.
Presione tecla 5 para NOT.
Presione tecla 6 para DIVISION.
Presione tecla 7 para MULTIPLICACION.
Presione tecla 8 para SALIR.
3. Le pedirá ingresar los valores, estos serán de forma hexadecimal.
Ingrese valor A.
Ingrese valor B.
4. Una vez ingresados los valores, presionar la tecla enter y se realizará la operación e
inmediatamente se mostrará el resultado.
El resultado de su operación es: (Resultado en binario).
Código
package calc;

import java.util.Scanner;

public class Calc {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
String n1 = "";
String n2 = "";
int respuesta;
int q1;
int q2;
System.out.println("|menu de opciones|");
System.out.println("|----------------|");
System.out.println("|(1)- Suma |");
System.out.println("|(2)- Resta |");
System.out.println("|(3)- AND |");
System.out.println("|(4)- OR |");
System.out.println("|(5)- NOT |");
System.out.println("|(6)- Divición |");
System.out.println("|(7)- Multiplicar|");
System.out.println("|(8)- Salir |");
System.out.println("|----------------|");

respuesta = entrada.nextInt();

switch (respuesta) {
case 1:
System.out.println("Seleccionó Suma");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + Suma(n1, n2));
break;

case 2:
System.out.println("Seleccionó Resta");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + Resta(n1, n2));
break;

case 3:
System.out.println("selecionó AND");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + AND(n1, n2));
break;
case 4:
System.out.println("selecionó la opción OR");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + OR(n1, n2));
break;
case 5:
System.out.println("selecionó NOT");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("el resultado es: " + NOT(n1));
break;
case 6:
System.out.println("selecionó divición");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + Divicion(n1, n2));
break;
case 7:
System.out.println("selecionó multiplicación");
System.out.println("Ingrese el primer número binario");
n1 = entrada.next();
System.out.println("Ingrese el segundo número binario");
n2 = entrada.next();
System.out.println("el resultado es: " + Multiplicacion(n1, n2));
break;
case 8:
System.out.println("|Finalizando...|");
System.out.println("...");
System.out.println("Finalizado.");
System.exit(0);
break;

default:
System.out.println("opción no válida");
System.out.println("Fin del programa");
break;
}

public static String Suma(String n1, String n2) {


int a1 = Integer.parseInt(n1, 2);
int a2 = Integer.parseInt(n2, 2);
int c = a1 + a2;
String resultado = Integer.toString(c, 2);
return resultado;
}

public static String Resta(String n1, String n2) {


int a1 = Integer.parseInt(n1, 2);
int a2 = Integer.parseInt(n2, 2);
int c = a1 - a2;
String resultado = Integer.toString(c, 2);
return resultado;
}

public static String AND(String n1, String n2) {


int a1 = Integer.parseInt(n1, 2);
int a2 = Integer.parseInt(n2, 2);
int c = a1 & a2;
String resultado = Integer.toString(c, 2);
return resultado;
}

public static String OR(String n1, String n2) {


int a1 = Integer.parseInt(n1, 2);
int a2 = Integer.parseInt(n2, 2);
int c = a1 | a2;
String resultado = Integer.toString(c, 2);
return resultado;
}

public static String NOT(String n1) {


int a1 = Integer.parseInt(n1, 2);
int c = ~a1;
String resultado = Integer.toString(c, 2);
return resultado;
}
public static String Divicion(String n1, String n2) {
int a1 = Integer.parseInt(n1, 2);
int b1 = Integer.parseInt(n2, 2);
int c1 = a1 / b1;
String resultado = Integer.toString(c1, 2);
return resultado;
}

public static String Multiplicacion(String n1, String n2) {


int a1 = Integer.parseInt(n1, 2);
int b1 = Integer.parseInt(n2, 2);
int c1 = a1 * b1;
String resultado = Integer.toString(c1, 2);
return resultado;
}