Kalkulator Przesunięcia Bitowego (Przesunięcie Lewe i Prawe)
Przesuń liczbę całkowitą w lewo lub w prawo o wybraną liczbę bitów i obejrzyj wynik w systemach dziesiętnym, binarnym i szesnastkowym w obrębie stałej szerokości bitowej.
Kierunek
Right-shift type
bits
n << 2 = 10101000 (0xA8)
- 1
Mask n to 8 bits
42 & (256 − 1) = 42 - 2
n × 2^2 (mod 2^8)
(42 × 4) mod 256 = 168A left shift by k is equivalent to multiplying by 2^k within the bit width.
Jak działa ten kalkulator?
Przesunięcie w lewo przesuwa bity w kierunku wysokiego końca i wypełnia zera po prawej; przesunięcie w prawo przesuwa je w kierunku niskiego końca. Logiczne przesunięcia w prawo wypełniają zera po lewej, a arytmetyczne kopiują bit znaku. Wyniki są maskowane do wybranej szerokości bitowej i wyświetlane dziesiętnie, binarnie i szesnastkowo.
Wzór
How this is calculated
Podajesz liczbę całkowitą n, wielkość przesunięcia k, kierunek (w lewo lub w prawo), typ przesunięcia w prawo (logiczne lub arytmetyczne) oraz szerokość bitową w. Wszystkie obliczenia wykonywane są na liczbach całkowitych o dowolnej precyzji, a następnie ograniczane do w bitów za pomocą mask = 2^w - 1. Wejście jest najpierw redukowane do wzorca w-bitowego, więc wartości ujemne są reprezentowane w kodzie uzupełnień do dwóch.
Przesunięcie w lewo oblicza (n << k) & mask: każdy bit przesuwa się o k pozycji w kierunku najbardziej znaczącego końca, dolne k pozycji wypełnianych jest zerami, a bity wykraczające poza górną granicę szerokości przepełniają się i są odrzucane. Logiczne przesunięcie w prawo oblicza (n & mask) >> k: bity przesuwają się o k pozycji w kierunku najmniej znaczącego końca, dolne k bitów jest odrzucanych, a górne k pozycji wypełnianych jest zerami. Arytmetyczne przesunięcie w prawo działa tak samo, z tym że zwolnione górne k pozycji wypełnianych jest kopiami oryginalnego bitu znaku (MSB), co zachowuje znak liczb w kodzie uzupełnień do dwóch.
Wyniki są wyświetlane jako dziesiętna liczba bez znaku, wypełniony zerami w-bitowy łańcuch binarny i szesnastkowo, wraz ze zinterpretowaną wartością ze znakiem w kodzie uzupełnień do dwóch. Przesunięcie o k większe lub równe w daje 0 dla przesunięć w lewo i logicznych w prawo, lub wzorzec samych jedynek/samych zer dla arytmetycznych przesunięć w prawo, w zależności od bitu znaku. Ujemne k jest odrzucane.
Najczęściej zadawane pytania
Logiczne przesunięcie w prawo zawsze wypełnia zwolnione wysokie bity zerami, traktując wartość jako bez znaku. Arytmetyczne przesunięcie w prawo kopiuje bit znaku (najbardziej znaczący bit) na te pozycje, zachowując znak, dzięki czemu ujemne liczby w kodzie uzupełnień do dwóch pozostają ujemne.
Wynik jest maskowany do wybranej szerokości bitowej. Bity przesunięte poza najbardziej znaczącą pozycję przepełniają się i są odrzucane, więc w obrębie stałej szerokości przesunięcie w lewo może zawinąć do mniejszej wartości.
Ujemne n jest konwertowane na wzorzec w-bitowy kodu uzupełnień do dwóch przed przesunięciem. Wyjście pokazuje zarówno dziesiętną bez znaku, jak i dziesiętną ze znakiem interpretację tego wzorca.
Znany również jako
TG we-Calculate Editorial Team. (2026). Kalkulator Przesunięcia Bitowego (Przesunięcie Lewe i Prawe) [Online calculator]. TG we-Calculate. https://we-calculate.com/pl/calculator/bit-shift-calculator
TG we-Calculate Editorial Team. "Kalkulator Przesunięcia Bitowego (Przesunięcie Lewe i Prawe)." TG we-Calculate. 2026. https://we-calculate.com/pl/calculator/bit-shift-calculator.
TG we-Calculate Editorial Team, "Kalkulator Przesunięcia Bitowego (Przesunięcie Lewe i Prawe)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/pl/calculator/bit-shift-calculator
@misc{wecalculate_bit_shift_calculator, title = {Kalkulator Przesunięcia Bitowego (Przesunięcie Lewe i Prawe)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/pl/calculator/bit-shift-calculator}}, year = {2026}, note = {TG we-Calculate} }
Czy ten kalkulator Ci pomógł?
