Sie sind auf Seite 1von 9

Gabriel Martin Montiel

91823

K049

Arquitectura de computadoras

Mtro. Juan Manuel Amezcua Ortega

2. Calculadora binaria

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


Bajo el nombre “Calc” fue creado el paquete contenedor, importé la biblioteca del teclado

de java bajo la instrucción “import java.util.Scanner” con el fin de captar por medio del

teclado como Dispositivo E/S, los valores con los cuales se realizaran las operaciones.

Posteriormente introduje el método main, así como una variable en la cual se almacena

los datos introducidos a través del teclado llamada entrada, así como las variables que

contendrían los números binarios en formato String, con el fin de contener largas cadenas

de dígitos, de igual forma las variables que contendrían las opciones del menú, las cuales

están en formato int, y por último la variable respuesta que sirve para almacenar la opción

que escogió el usuario para realizar una operación relacionar el comando switch, con la

opción que escoja el usuario.

A través de comandos de impresión de pantalla (System.out.println), creé el menú de

opciones disponibles que permiten al usuario escoger, entre las cuales se encuentran las

operaciones disponibles y el finalizador del programa.


Igualando la variable respuesta con la entrada del escáner, capturé los datos ingresados

por el usuario, y con apoyo del comando switch relacioné las opciones del menú, con las

operaciones, poniendo en primer lugar la leyenda de la opción que seleccionó el usuario

para después pedirle al mismo que introduzca dos números binarios. Haciendo uso de la

utilidad escáner para capturar dichos números y procesarlos, poniendo un freno para que

detenga la operación una vez realizado el proceso.


En la sección de los métodos dividí por tipo de operación el proceso, pero todos
comparten una raíz en común que es, la forma en que la variable n1 y n2 con formato
String, por medio del método Integer.parseInt se los números binarios pueden ser
tratados, y posteriormente almacenados en la variable c y procesados dependiendo del
tipo de operación para posteriormente ser almacenadas en la variable resultado y obtener
como retorno el valor del mismo. Y ya en la instrucción ser plasmada por medio del
dispositivo E/S (monitor) a través de la línea de código “System.out.println(“el resultado
es” + Suma (n1, n2);” y esta forma obtener el resultado final.

En la opción 6 se encuentra el fin del programa por medio de la línea de código


“System.exit(0);” nos da como mensaje de salida “vuelva pronto”, con lo cual finaliza la
ejecución del programa.
Con esto finaliza este programa que busca poner en práctica, la forma en la que el
sistema binario trabaja con el lenguaje máquina para realizar las operaciones con los
mismo y la forma en que se ejecutan, ya que estos números son la forma en que los
usuarios nos comunicamos con la máquina.

Codigo
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)- 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("|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;

Das könnte Ihnen auch gefallen