Preguntas etiquetadas con bit-shift

294
¿Cuál es el operador >>> = en C?

Dado por un colega como un rompecabezas, no puedo entender cómo este programa C realmente compila y se ejecuta. ¿Qué es este >>>=operador y el extraño 1P1literal? He probado en Clang y GCC. No hay advertencias y la salida es "???" #include <stdio.h> int main() { int a[2]={ 10, 1...

40
¿Por qué 11010100 << 1 es igual a 110101000, no 10101000?

¿Por qué cuando trato de cambiar bits para 11010100 2 , el resultado es 110101000 2 , no 10101000 2 ? int a = Integer.parseInt("11010100", 2) << 1; Intento hacer esto: int a = (byte)(Integer.parseInt("11010100", 2) << 1); Pero si el valor de salida es mayor que 128, todo entra en...