Perguntas com a marcação «bit-shift»

294
O que é o operador >>> = em C?

Dado por um colega como um quebra-cabeça, não consigo descobrir como esse programa C realmente compila e executa. O que é esse >>>=operador e o 1P1literal estranho ? Eu testei em Clang e GCC. Não há avisos e a saída é "???" #include <stdio.h> int main() { int a[2]={ 10, 1 };...

40
Por que 11010100 << 1 é igual a 110101000, e não 10101000?

Por que, quando tento mudar os bits para 11010100 2 , o resultado é 110101000 2 , e não 10101000 2 . int a = Integer.parseInt("11010100", 2) << 1; Eu tento fazer isso: int a = (byte)(Integer.parseInt("11010100", 2) << 1); Mas se o valor de saída for maior que 128, tudo será menos, o...