Spisu treści:
Definicja - Co oznacza przesunięcie bitów?
Przesunięcie bitów to operacja wykonywana na wszystkich bitach wartości binarnej, w których są one przesuwane o określoną liczbę miejsc w lewo lub w prawo. Przesunięcie bitów jest stosowane, gdy operand jest używany jako seria bitów, a nie jako całość. Innymi słowy, operand jest traktowany jako pojedyncze bity, które oznaczają coś, a nie jako wartość.
Przesunięcie bitów jest często stosowane w programowaniu i ma co najmniej jedną odmianę w każdym języku programowania.
Przesunięcie bitów może być również znane jako operacja bitowa.
Techopedia wyjaśnia przesunięcie bitów
Istnieją dwa warianty przesunięcia bitów, przesunięcia w prawo i przesunięcia w lewo, a ponadto jest to określone przez liczbę miejsc, w których powinno nastąpić przesunięcie. Na przykład przesunięcie argumentu o jedną wartość w lewo lub przesunięcie wartości „n” bitów w prawo.
Istnieją również dwa rodzaje przesuwania bitów, logiczne i arytmetyczne. Logiczne przesunięcie bitów może być przydatne do mnożenia lub dzielenia liczb całkowitych bez znaku przez potęgi dwóch. Na przykład, jeśli wartość „0001” lub „1” zostanie przesunięta w lewo, staje się „0010” lub „2”, ponownie przesunięta w lewo, staje się „0100” lub „4.” Przesunięcie w prawo powoduje odwrotny skutek dzielenia wartości przez dwa na zmianę. W większości przypadków przesunięcie jest traktowane jako kołowe, więc przy przesunięciu w lewo wartość znajdująca się najbardziej na lewo staje się wartością na prawo i na odwrót.
Logiczne przesunięcie w lewo i arytmetyczne przesunięcie w lewo mają ten sam efekt, więc Java ma tylko jednego operatora przesunięcia w lewo (<<). Przesunięcie arytmetyczne w prawo to (>>), podczas gdy logiczne to (>>>). W C i C ++ istnieje tylko jeden prawy operator zmiany biegów (>>); rodzaj przesunięcia, które należy wykonać, zależy od rodzaju przenoszonej liczby całkowitej. Podpisane liczby całkowite są przesuwane za pomocą arytmetyki, podczas gdy logiczne przesuwanie bitów jest stosowane na liczbach całkowitych bez znaku. Przesunięcie bitów jest również często stosowane w programowaniu asemblera, ponieważ mikrokontrolery i mikroprocesory zwykle polegają na flagach, które są reprezentowane przez poszczególne bity. Zasadniczo dlatego, że w programowaniu w asemblerze używany jest system liczb binarnych, przesunięcie bitów staje się powszechnie stosowanym operatorem.
