Bit Maskowanie w C ++

Bit Maskowanie w C ++
Maskowanie bitów to proces używany do dostępu do określonego bitu w bajtach danych. Zjawisko to jest używane podczas wykonywania procesu iteracji. Mówi się, że maska ​​bitowa jest maską sekwencji n -Bitów używanych do kodowania części naszej kolekcji. Te elementy maski mogą być ustawione lub nie mogą być. Istnieją operatorzy bitowców do tworzenia lub przełączania bitów. Te operatorzy są używane do włączania bitu lub odwrotnie.

Aby użyć programów C ++ podczas wykonywania ich w Linux, musisz skonfigurować plik Ubuntu i w stanie uruchomionym. Ponadto użytkownik musi mieć pewną wiedzę na temat języka C ++. Kody źródłowe C ++ są zapisane w edytorze tekstu. Podczas gdy w procesie wykonywania użyj terminalu Ubuntu.

Mówi się również, że maska ​​bitowa jest prostą maską, która jest sekwencją n bitów. Koduje podzbiór kolekcji. Element „i” jest obecny w podzbiorze bitu „ithh” jest ustawiony w masce. W przypadku zbioru elementów o n -tym bajtach istnieją szanse na posiadanie 2n maski odpowiadającej podzbiorze.

Dlaczego używane jest bitmaskowanie

Proces bitmakowania przechowuje różne wartości w tym samym zestawie liczb. Na przykład rozważ zestaw, w którym s = 1, 2, 5, 8, 6 i 7. Aby reprezentować zestaw 2, 5, 7, możemy użyć dowolnego maski bitowej 010110.

Operacje wykonywane przez bitmapy są następujące:

Ustaw bit „ith”
Odbywa się to poprzez rozważenie wartości „x”. Możemy wykonać x | = x<

Unset the „Ith” Bit
Aby rozeutować bit, musi być trochę ustawiony przez użytkownika lub domyślnie. Więc ten konkretny bit może być łatwo niezmienny. W tym celu używamy operatorów x & = ~ (x <

Przełącz trochę
Jest to proces, w którym używamy operatora x^= x<

W prostych słowach, jeśli chcesz ustawić trochę, oznacza to, że jeśli bit i-ten wynosi 0, więc jest to ustawione na 1. A jeśli jest już 1, zostaw to bez żadnej modyfikacji. Podobnie, w przypadku nieco prześwitu, jeśli bit i-ten wynosi 1, należy go wyczyścić do 0. A jeśli jest już 0, nie zmień go; zostaw to tak, jak już jest. Gdziekolwiek przełączyć trochę, jeśli bit i-ten to 1, teraz zmień ten bit na 0. A jeśli jest już 0, teraz musisz ponownie zmienić na 1.

Przykład maskowania bit

Podstawowa koncepcja maskowania jest tutaj, aby wyjaśnić działanie maskowania bit. Ten przykład obejmuje wszystkie trzy operacje maskowania bitów, które opisano powyżej w tym przewodniku.

Teraz zaczynając od strumienia wejściowego i wyjściowego, aby obejmować odczyt i zapisanie do pliku.

#włączać

Najpierw skoczyliśmy do głównego programu kodu źródłowego, aby kod stał się prostszy i dobrze zorganizowany. Co więcej, stanie się bardziej zrozumienia dla nowych w dziedzinie programowania. Ten cały program to system interaktywny użytkownika. Który wymaga zaangażowania użytkowników na każdym etapie działającego systemu. Pierwszym krokiem w programie głównym jest to, że prosimy o liczbę, na której operacje są stosowane od użytkownika. Przed zapytaniem jest zmienna, aby zaakceptować wartość wprowadzoną przez użytkownika.

Gdy użytkownik wprowadza liczbę, przechodzi wiele procesów, jak używana pętla. Ta pętla zapewnia dostępność liczb za każdym razem, gdy program jest wykonywany. Po wprowadzeniu liczby system wyświetla 3 opcje dla użytkownika, jeśli użytkownik chce ustawić maskę bitową lub jeśli chce wyczyścić maskę bitową, a trzecim jest przełączenie wartości. A na koniec użytkownik jest proszony o wybranie jednego z nich. Aby poruszać się po tych wszystkich operacjach, musimy mieć taką logikę, która wybierze tylko jedną opcję, którą wprowadza użytkownik. Podczas gdy wszystkie operacje pozostają w tym czasie bezczynne.

Więc używamy instrukcji Switch tutaj. Kiedy użytkownik wprowadza swój wybór, jest to przechowywane w zmiennej, a następnie na tej zmiennej wykonujemy instrukcję przełącznika. Każdy wiersz instrukcji przełącznika zawiera wywołanie funkcji każdej opcji. Niezależnie od opcji, którą użytkownik wybierze, system wykona ten konkretny program dla opcji. Używamy instrukcji Break z każdą opcją instrukcji przełącznika. Ponieważ po zakończeniu jednej opcji musisz automatycznie powstrzymać program przed dalszym wykonaniem, dopóki nie zostanie poproszony o uruchomienie programu.

Teraz rozważ pierwszą opcję; Pierwsza funkcja polega na ustawieniu maski. Zawiera zmienną do przechowywania liczby wprowadzonej przez użytkownika. Liczba ta przejdzie kawałek operacji arytmetycznej, aby zapewnić wartość, która jest wcześniej, a następnie po wartości bitowej.

X | x <

Gdy ta operacja zostanie wykonana całkowicie, wartość po przejściu przez operacje jest ponownie przetwarzana, a następnie wyświetlana jest wartość.

Następną opcją jest niezachowanie już utworzonej lub nowej maski. To również wyczyści pierwszy i następny najważniejszy wartość bitu.

X & = ~ (x <

Wyjaśniliśmy każdą funkcję osobno, aby pojęcie było jasne dla użytkownika. Zapewni to również poprzednie i kolejne wartość maski bitowej.

X^= x <

Po napisaniu kodu zapisz go w pliku, a następnie zapisz plik z rozszerzeniem '.C'. Aby wykonać kod, potrzebujemy kompilatora „G ++”, który skompiluje kod. 'fragment. C 'to nazwa pliku.

$ g ++ -o bit bit.C
$./fragment

Po wykonaniu kodu kontrola znajduje się w programie głównym po wybraniu opcji funkcji, a następnie zgodnie z funkcją, wykonane jest określone wywołanie funkcji, a kontrola jest przekazywana w kierunku tej konkretnej funkcji. Na przykład, zgodnie z obrazem, najpierw wprowadzamy numer, a następnie wybieramy opcję.

Wybierzemy wszystkie trzy opcje pod względem linii. Po pierwsze, wybraliśmy pierwszą opcję ustawienia maski bitowej. Zgodnie z funkcją, nieco przed i po bieżącym bicie jest wyświetlane losowo po zakończeniu wykonania dla funkcji.

Ponownie wyświetlane są opcje. Teraz chcemy nie zrealizować pozycji „3”. Tutaj ponownie, przed i po wyczyszczeniu, wartość jest wyświetlana.

Teraz ponownie, gdy zobaczymy listę opcji, wybierz ostatnią opcję, opcja przełączania. Wprowadź bit, który chcesz przełączyć. Poprzedni przełącznik, a następnie wyświetlone wartości po przełączaniu.

Proces ten będzie kontynuowany, dopóki nie będziesz wchodzić w wartości opcji. Jeśli chcesz opuścić system, naciśnij „Ctrl + C”.

Wniosek

Proces maskowania bitów jest korzystny dla procesów iteracji. Wykorzystaliśmy krótki przykład, aby wyjaśnić proces ustawienia, rozstrzygnąć maskę i przełączyć bit. Możemy również zmienić wyżej wymieniony przykład zgodnie z naszymi potrzebami programu. Mamy nadzieję, że ten artykuł pomoże ci zrozumieć proces maskowania bitów.