Funkcja bitowego przesunięcia w lewo

Wykonuje operację przesunięcia w lewo na poziomie bitowym na wartościach binarnych dwóch wejściowych rastrów.

Ilustracja funkcji przesunięcia w lewo na poziomie bitowym
Funkcja przesunięcia w lewo na poziomie bitowym InRas1 o stałą o wartości 1.

Uwagi

Aby wykonać tę funkcję, konieczne jest podanie dwóch wartości wejściowych.

Kolejność danych wejściowych nie ma znaczenia dla tej funkcji.

Jeśli dane wejściowe mają typ zmiennoprzecinkowy, wartości są konwertowane na liczby całkowite przez obcięcie przed wykonaniem operacji bitowej.

Wszystkie operacje bitowe mają następujące cechy wspólne:

  • Wartości binarne są przechowywane w postaci kodu uzupełnień do dwóch.
  • Narzędzia operują na 32-bitowych liczbach całkowitych.
  • Bit na pozycji pierwszej od lewej jest odwrotny w stosunku do znaku wartości (dodatnia lub ujemna). Jeśli liczba całkowita jest dodatnia, bit na tej pozycji ma wartość 0, a jeśli jest ujemna — wartość 1.

Operacja przesunięcia w lewo na poziomie bitowym nie powoduje zawijania bitów. Najbardziej skrajny lewy bit jest usuwany.

Jeśli oba wejścia są rastrami jednopasmowymi lub jedno z nich jest stałą, dane wynikowe będą rastrem jednopasmowym.

Jeśli oba wejścia są rastrami wielopasmowymi, funkcja wykona operacje na każdym paśmie z jednego wejścia, a dane wynikowe będą rastrem wielopasmowym. Liczba pasm w każdym wejściowym rastrze wielopasmowym musi być taka sama.

Jeśli jedno z wejść jest rastrem wielopasmowym, a drugie jest stałą, funkcja wykona operację względem wartości stałej dla każdego pasma w wejściowym rastrze wielopasmowym, a dane wynikowe będą rastrem wielopasmowym.

Jeśli obydwoma danymi wejściowymi są rastry wielowymiarowe o takiej samej liczbie zmiennych, funkcja wykona operację dla wszystkich przekrojów o tej samej wartości wymiaru, a dane wynikowe będą rastrem wielowymiarowym. Zmienne w danych wejściowych muszą mieć takie same wymiary lub wspólny wymiar, ale nie mogą mieć wymiarów innych niż wspólny.

Jeśli jedno z wejść jest rastrem wielowymiarowym, a drugie wartością stałą, funkcja wykona operację dla wszystkich przekrojów dla wszystkich zmiennych względem wartości stałej, a dane wynikowe będą rastrem wielowymiarowym.

Parametry

Nazwa parametruOpis

Raster

Wartość wejściowa, której przesunięcie ma zostać wykonane.

Jako dane wejściowe dla tego parametru można podać stałą, jeśli dla drugiego parametru zostanie podany raster.

Raster2

Wartość wejściowa określająca liczbę pozycji, o jaką bity mają zostać przesunięte.

Jako dane wejściowe dla tego parametru można podać stałą, jeśli dla drugiego parametru zostanie podany raster.

Typ zasięgu

Wybierz zasięg do użycia w rastrze wynikowym:

  • Pierwszy — do określenia zasięgu przetwarzania zostanie użyty zasięg pierwszego rastra wejściowego.

  • Iloczyn — do określenia zasięgu przetwarzania zostanie użyty zasięg nakładających się pikseli. Jest to opcja domyślna.
  • Suma — do określenia zasięgu przetwarzania zostanie użyty zasięg wszystkich rastrów.
  • Ostatni — do określenia zasięgu przetwarzania zostanie użyty zasięg ostatniego rastra wejściowego.

Typ rozmiaru komórki

Wybierz rozmiar komórki do użycia w rastrze wynikowym. Jeśli rozmiar wszystkich komórek wejściowych jest taki sam, wszystkie opcje zwrócą ten sam wynik.

  • Pierwszy — użyj pierwszego rozmiaru komórki spośród rastrów wejściowych.
  • Minimalny — użyj najmniejszego rozmiaru komórki spośród wszystkich rastrów wejściowych.
  • Maksymalny — użyj największego rozmiaru komórki spośród wszystkich rastrów wejściowych. Jest to opcja domyślna.
  • Średni — użyj średniego rozmiaru komórki spośród wszystkich rastrów wejściowych.
  • Ostatni — użyj ostatniego rozmiaru komórki spośród rastrów wejściowych.

Dowiedz się więcej o operacji na poziomie bitowym

Narzędzia bitowe oceniają binarną reprezentację wartości wejściowych, przetwarzając wszystkie piksele po kolei. Dla każdego bitu w reprezentacji binarnej jest wykonywana operacja logiczna.

Logikę działania różnych narzędzi bitowych zilustrowano w następujących sekcjach. Strzałki wskazują przepływ operacji konwersji wartości wejściowych na reprezentację binarną (na system o podstawie 2), ich analizowania i zwracania jako wartości dziesiętnych (w systemie o podstawie 10).

Dowiedz się więcej o działaniu przesunięcia w lewo na poziomie bitowym

Strzałki na poniższej ilustracji pokazują, że wartości wejściowe są najpierw konwertowane na reprezentację binarną, następnie do każdej pary bitów reprezentujących te wartości jest stosowana logika bitowa, a na koniec wartości są konwertowane z powrotem na reprezentację dziesiętną.

W przypadku operacji przesunięcia w lewo na poziomie bitowym wartość każdego bitu jest przesuwana w lewo o liczbę pozycji bitowych określoną w drugiej wartości wejściowej. Wartość, która jest przypisywana do najdalszego lewego bitu, jest tracona. Efektem przesunięcia w lewo o jeden bit jest pomnożenie przez dwa.

Przykład bitowego przesunięcia w lewo i w prawo
To jest przykład bitowego przesunięcia w lewo i w prawo.

Notatka:

Jeśli dowolna wejściowa wartość piksela to NoData, wartością wynikową będzie NoData.