- 1. ¿Cuál es el resultado de la operación NOT bit a bit sobre el valor binario 0111 (decimal 7)?
A) 0110 (decimal 6) B) 0001 (decimal 1) C) 1000 (decimal 8) D) 1111 (decimal 15)
- 2. ¿Qué operación a nivel de bits se utiliza para determinar si un bit específico está activado o desactivado?
A) OR B) NOT C) XOR D) AND
- 3. ¿Cuál es el resultado de la operación AND bit a bit entre 0101 (decimal 5) y 0011 (decimal 3)?
A) 0100 (decimal 4) B) 0001 (decimal 1) C) 0111 (decimal 7) D) 0011 (decimal 3)
- 4. ¿Cómo se puede determinar si un número es par utilizando operaciones a nivel de bits?
A) Compruebe si el bit de menor valor es 0 utilizando la operación AND con 0001 (decimal 1). B) Compruebe si el bit de mayor valor es 0 utilizando la operación NOT. C) Compruebe si el bit de mayor valor es 1 utilizando la operación OR con 1000 (decimal 8). D) Compruebe si el bit de menor valor es 1 utilizando la operación XOR con 0001 (decimal 1).
- 5. ¿Cuál es el resultado de la operación OR bit a bit entre 0101 (decimal 5) y 0011 (decimal 3)?
A) 0111 (decimal 7) B) 1000 (decimal 8) C) 0010 (decimal 2) D) 0100 (decimal 4)
- 6. ¿Cuál es el resultado de la operación XOR a nivel de bits entre 0101 (decimal 5) y 0011 (decimal 3)?
A) 0110 (decimal 6) B) 0101 (decimal 5) C) 0111 (decimal 7) D) 0000 (decimal 0)
- 7. ¿Qué operación a nivel de bits se puede utilizar para invertir los bits de un registro?
A) AND B) OR C) NOT D) XOR
- 8. ¿Cuál es el resultado de la operación AND bit a bit entre 0110 (decimal 6) y 1011 (decimal 11)?
A) 0010 (decimal 2) B) 0000 (decimal 0) C) 0101 (decimal 5) D) 1111 (decimal 15)
- 9. ¿Cómo se puede establecer el cuarto bit de 0010 (decimal 2) utilizando operaciones a nivel de bit?
A) Realice una operación AND a nivel de bit con 1000 (decimal 8) B) Realice una operación XOR a nivel de bit con 1000 (decimal 8) C) Realice una operación NOT a nivel de bit con 1000 (decimal 8) D) Realice una operación OR a nivel de bit con 1000 (decimal 8)
- 10. ¿Qué operación a nivel de bits se utiliza con frecuencia para invertir una imagen en escala de grises?
A) OR B) AND C) XOR D) NOT
- 11. ¿Cuál es el resultado de la operación OR bit a bit entre 0010 (decimal 2) y 1000 (decimal 8)?
A) 1000 (decimal 8) B) 1010 (decimal 10) C) 1011 (decimal 11) D) 0010 (decimal 2)
- 12. ¿Cuál es el resultado de la operación bit a bit NOT aplicada a 10101011 (decimal 171)?
A) 10101010 (decimal 170) B) 01010101 (decimal 85) C) 11111111 (decimal 255) D) 01010100 (decimal 84)
- 13. ¿Cómo puede poner un registro a cero utilizando la operación XOR?
A) Realice una operación NOT en el registro. B) Realice una operación XOR en el registro con él mismo. C) Realice una operación OR en el registro con cero. D) Realice una operación AND en el registro con cero.
- 14. ¿Cuál es el equivalente matemático de la operación NOT bit a bit para un entero no negativo x?
A) x XOR y B) x OR y C) x AND y D) (2floor(log2(x) + 1) - 1) - x
- 15. ¿Qué operación a nivel de bits se utiliza para establecer los bits seleccionados en 1?
A) OR B) AND C) NOT D) XOR
- 16. ¿Cuál es el resultado de la operación XOR a nivel de bits entre 0101 (decimal 5) y 0101 (decimal 5)?
A) 1010 (decimal 10) B) 0000 (decimal 0) C) 1111 (decimal 15) D) 0101 (decimal 5)
- 17. ¿Cuál es el resultado de la operación OR bit a bit entre 0101 (decimal 5) y 0101 (decimal 5)?
A) 0101 (decimal 5) B) 1010 (decimal 10) C) 1111 (decimal 15) D) 0000 (decimal 0)
- 18. ¿Cuántas funciones de verdad posibles existen para dos variables binarias?
A) 16 B) 4 C) 8 D) 32
- 19. ¿Cuál es el término que se utiliza para designar una tabla de consulta con dos entradas en funciones booleanas?
A) LUT1 B) LUT2 C) LUT4 D) LUT3
- 20. ¿Qué término se utiliza para referirse a las instrucciones que contienen un campo de 4 bits que identifica un operador binario específico?
A) Operador B) Operación booleana C) Código de operación D) Operación a nivel de bits
- 21. ¿Cuántas operaciones hay en una instrucción de lógica ternaria a nivel de bits?
A) 128 B) 16 C) 64 D) 256
- 22. ¿Qué tipo de ordenamiento se utiliza cuando un desplazamiento a la izquierda aumenta el valor de un número?
A) Big-endian B) Middle-endian C) Small-endian D) Little-endian
- 23. ¿Cuál es el efecto de realizar varios desplazamientos, cada uno de ellos reducido a un único desplazamiento mediante una determinada cantidad de dígitos?
A) Equivalente a realizar un desplazamiento por esa cantidad de dígitos B) Equivalente a realizar un desplazamiento por el doble de esa cantidad de dígitos C) No tiene efecto D) Equivalente a realizar un desplazamiento por la mitad de esa cantidad de dígitos
- 24. ¿Cuál es el término que se utiliza para referirse a los valores de los bits que se desplazan en las operaciones de desplazamiento de bits?
A) Bits de signo B) Bits desplazados hacia fuera C) Bits de acarreo D) Bits desplazados hacia dentro
- 25. ¿Cuál es la representación predominante en el mercado actual para las operaciones de desplazamiento aritmético?
A) Complemento a uno B) Complemento a dos C) Magnitud con signo D) Punto flotante
- 26. ¿Qué ocurre con los bits que se eliminan de cada extremo en un desplazamiento aritmético?
A) Se descartan B) Se copian C) Se invierten D) Se conservan
- 27. ¿Qué tipo de desplazamiento es ideal para los números binarios sin signo?
A) Desplazamiento aritmético a la derecha B) Desplazamiento lógico a la derecha C) Rotación con arrastre D) Desplazamiento circular
- 28. ¿Qué operación se utiliza para mantener todos los bits existentes moviéndolos en forma circular?
A) Desplazamiento lógico B) Desplazamiento circular C) Desplazamiento aritmético D) AND bit a bit
- 29. En C y C++, ¿cuál es el operador para un desplazamiento a la izquierda?
A) & B) >> C) << D) |
- 30. ¿Cuál es el comportamiento de un desplazamiento en bits que es mayor o igual que el tamaño de la palabra en C y C++?
A) Desplazamiento aritmético B) Desplazamiento circular C) Comportamiento indefinido D) Desplazamiento lógico
- 31. En C#, ¿qué tipo de desplazamiento se realiza cuando el primer operando es un entero (int) o un entero largo (long)?
A) Rotación con arrastre B) Desplazamiento aritmético C) Desplazamiento lógico D) Desplazamiento circular
- 32. En C#, ¿qué tipo de desplazamiento se realiza cuando el primer operando es de tipo uint o ulong?
A) Rotación con arrastre B) Desplazamiento lógico C) Desplazamiento circular D) Desplazamiento aritmético
- 33. ¿Cuál es el comportamiento de desplazar a la derecha un valor negativo en C y C++?
A) Desplazamiento aritmético B) Desplazamiento lógico C) Desplazamiento circular D) Definido por la implementación
- 34. ¿Cuál es el operador para un desplazamiento a la derecha en C y C++?
A) & B) >> C) | D) <<
- 35. ¿Cuál es el resultado de la operación de desplazamiento a la derecha con acarreo de un bit (x RIGHT-ROTATE-THROUGH-CARRY-BY-ONE) si el indicador de acarreo contiene una copia del bit de signo?
A) Una operación AND bit a bit B) Un desplazamiento aritmético a la derecha C) Un desplazamiento lógico a la derecha D) Un desplazamiento circular
- 36. ¿Qué versión de C++ introdujo `std::rotl` y `std::rotr` para las operaciones de rotación?
A) C++20 B) C++17 C) C++11 D) C++14
- 37. ¿Cuál es la forma recomendada de evitar el comportamiento indefinido y las bifurcaciones en GCC y Clang para las rotaciones circulares?
A) Utilice múltiples instrucciones de máquina. B) Utilice una bifurcación para verificar la cantidad de desplazamiento. C) Utilice desplazamientos aritméticos. D) Utilice un patrón reconocido para una única instrucción de rotación.
- 38. ¿Qué compilador proporciona funciones intrínsecas como _rotl8, _rotl16, _rotr8, _rotr16?
A) Microsoft Visual C++ B) GCC C) Clang D) Intel
- 39. En Java, ¿qué operador realiza desplazamientos lógicos a la derecha?
A) >> B) >>> C) <<< D) <<
- 40. ¿Cuál es el resultado de la expresión 'byte b1 = -5; int i = b1 | 0x0200;' en Java?
A) i == -5 B) i == 0 C) i == 2049 D) i == 517
- 41. ¿Cuál es el valor de la máscara que se utiliza para el operando derecho en Java cuando el operando izquierdo es de tipo int?
A) 0x0 (0b00000000) B) 0x3f (0b111111) C) 0xff (0b11111111) D) 0x1f (0b11111)
- 42. ¿Cuál de las siguientes opciones es una función intrínseca específica del compilador para las rotaciones circulares en Microsoft Visual C++?
A) __builtin_stdc_rotate_left B) std::rotl C) _rotl16 D) __builtin_stdc_rotate_right
- 43. ¿Cuál es la forma recomendada de realizar desplazamientos circulares en software de alta integridad?
A) Utilice desplazamientos aritméticos B) Utilice bifurcaciones para verificar la cantidad de desplazamiento C) Utilice múltiples instrucciones de máquina D) Utilice patrones reconocidos por el compilador para instrucciones de rotación únicas
- 44. ¿Cuál de las siguientes opciones es una función intrínseca específica del compilador para desplazamientos circulares en GCC 15?
A) __builtin_stdc_rotate_right B) std::rotl C) __builtin_stdc_rotate_left D) _rotl16
- 45. ¿Cuál es el valor de la máscara que se utiliza para el operando derecho en Java cuando el operando izquierdo es de tipo 'long'?
A) 0x1f (0b11111) B) 0x3f (0b111111) C) 0x0 (0b00000000) D) 0xff (0b11111111)
- 46. ¿Qué operación se utiliza en criptografía para contar el número de 1 en un número binario?
A) popcount B) contar ceros iniciales C) AND bit a bit D) OR bit a bit
- 47. ¿En qué dominio de la programación se suelen utilizar operaciones a nivel de bits?
A) Desarrollo web B) Administración de bases de datos C) Controladores de dispositivos D) Diseño de la interfaz de usuario
- 48. ¿Qué operación se puede utilizar para multiplicar dos números enteros utilizando únicamente desplazamientos de bits y sumas?
A) Multiplicación decimal B) Multiplicación de punto flotante C) Multiplicación binaria D) Multiplicación egipcia antigua
- 49. ¿Qué operación se utiliza para simplificar expresiones bit a bit complejas en los compiladores?
A) Álgebra booleana B) Cálculo integral C) Cálculo diferencial D) Álgebra aritmética
- 50. ¿Qué operación se ejecuta primero según el orden de las operaciones?
A) ^ B) | C) & D) ( )
- 51. ¿Qué operación se ejecuta en último lugar según el orden de las operaciones?
A) ^ B) | C) & D) ( )
|