Pytania oznaczone «bit-shift»

294
Co to jest operator >>> = w C?

Biorąc pod uwagę kolegę jako zagadkę, nie mogę zrozumieć, jak ten program C faktycznie się kompiluje i działa. Co to jest ten >>>=operator i dziwny 1P1literał? Testowałem w Clang i GCC. Nie ma ostrzeżeń, a wynikiem jest „???” #include <stdio.h> int main() { int a[2]={ 10, 1 };...

40
Dlaczego 11010100 << 1 oznacza 110101000, a nie 10101000?

Dlaczego, kiedy próbuję przesunąć bity dla 11010100 2 , wynik to 110101000 2 , a nie 10101000 2 . int a = Integer.parseInt("11010100", 2) << 1; Próbuję to zrobić: int a = (byte)(Integer.parseInt("11010100", 2) << 1); Ale jeśli wartość wyjściowa jest większa niż 128, wszystko idzie w...