[ Foro de C++ ]

Necesito un codigo en c++

09-May-2021 01:19
Invitado (Fofo)
0 Respuestas

ENUNCIADO DEL PROBLEMA: Operaciones Binarias bit a bit.
Las operaciones binarias bit a bit son operaciones usuales que realizan los procesadores de los computadores digitales sobre números binarios (representados en base 2, con valores o símbolos 0 y 1). Algunas de estas operaciones son AND, OR, XOR, NOT, ADD.

Las tablas de verdad de estas operaciones para cada pareja (columna) de bits son las siguientes:
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1


A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1


A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0


A NOT A
0 1
1 0

2
UNIVERSIDAD NACIONAL ESCUELA DE INFORMÁTICA
EIF 200 FUNDAMENTOS DE INFORMÁTICA






A B A ADD B ACARREO
0 0 0
0 1 1
1 0 1
1 1 0 1

Para demostrar estas operaciones a los estudiantes del curso EIF200 Fundamentos de Informática, se requiere simular el funcionamiento de estas operaciones sobre números representados en binario (con dígitos 0 y 1) en números enteros o variables tipo int.

Por ejemplo, dados los números enteros, A y B, con los siguientes valores:


A: 1010
B: 1101
El resultado de la operación AND aplicada a estos valores de A y B es: 1010
AND 1101
1000
El resultado de la operación OR aplicada a estos valores de A y B es: 1010
OR 1101
1111


El resultado de la operación XOR aplicada a estos valores de A y B es:

3
UNIVERSIDAD NACIONAL ESCUELA DE INFORMÁTICA
EIF 200 FUNDAMENTOS DE INFORMÁTICA





1010
XOR 1101
0111
El resultado de la operación NOT aplicada al valor de A es: NOT 1010
0101
El resultado de la operación ADD (suma) aplicada a estos valores de A y B es: 1010
ADD 1101
10111


Se requiere que usted escriba un programa en C++ (IDE Zinjai) que incluya una función para implementar cada una de las cinco operaciones bit a bit que se describen. El programa debe recibir dos números enteros en decimal (base 10), convertirlos a su representación en binario en un número entero (variable tipo int), mostrar esta representación en binario y permitir la realización de estas cinco operaciones. El programa debe ofrecer al usuario la posibilidad de seleccionar la operación por realizar, mostrar el resultado de la operación y permitirle al usuario que continúe seleccionando repetitivamente las operaciones que desee. Los números ingresados u operandos pueden estar en el rango de 0 a 255 y los resultados de las operaciones se deben mostrar en 8 dígitos binarios o bits.

Para convertir un número en base decimal a base 2 o a su representación en binario, se divide sucesivamente el número en base decimal entre 2. El resultado (cociente)

4
UNIVERSIDAD NACIONAL ESCUELA DE INFORMÁTICA
EIF 200 FUNDAMENTOS DE INFORMÁTICA




de cada división es el nuevo número por dividir (dividendo) y, los residuos, son los dígitos del número en binario de izquierda a derecha, desde el último al primer residuo. El proceso finaliza cuando el resultado (cociente) de la división sea 0.

Por ejemplo, el número 234 en base 10 se convierte a (011101010)2 en base 2. Con los dígitos binarios de izquierda a derecha, definidos por los residuos del último al primero o, dicho de otra forma, de abajo hacia arriba, tal como se muestra:



234
0

2
117 2
1 58 2
0 29
1




2
14 2
0 7 2
1 3 2
1 1 2
1 0




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)