Cześć i witaj. Porozmawiajmy o operatorach bitowych.
Pokazaliśmy ci to trochę w poprzednim wykładzie, kiedy mówiliśmy o operatorach przypisania, ponieważ operatory
przypisania mają wszystkie te złożone przypisania, w których możesz
wykonać operację, taką jak dodawanie, a następnie również przypisywać.
Możesz zrobić to samo z tymi operatorami typów.
Ale przejdźmy do tych bardziej szczegółów i dokładnie powiedzmy, czym one są.
Więc c oferuje bitowe operatory logiczne
i operatory przesunięcia. Te terminy mogą być zupełnie nieświadome.
Wyglądają jak operatory logiczne, ale są zupełnie inne. Nie robią żadnych logicznych
ocen. Nie oceniają prawdy ani fałszu.
Wyglądają jak ampersand ampersand, 2 ors, ale
nie wykonują żadnej wartości logicznej.
To, co robią, to operowanie na bitach, wewnątrz wartości całkowitych.
Możesz więc zadać sobie pytanie, dlaczego do cholery miałbyś kiedykolwiek chcieć to zrobić? Cóż, nie jest
używany w większości programów. To bardziej zaawansowana technika.
Mimo że jest to klasa dla początkujących. Są częścią operatorów, a operatorzy są koncepcją początkującą.
Więc zamierzam się do nich odnieść, ale niekoniecznie będziemy się na nich skupiać.
Podam Ci kilka przykładów, pokażę, jak możesz z nich korzystać.
Ale po tym wykładzie nie będziesz w tym ekspertem.
Ale sposób, w jaki są przydatne i dlaczego faktycznie chcesz ich używać, polega na
tym, że możesz przechowywać całkiem sporo danych.
Istnieją więc operandy bitowe nazywane i, ampersand i bitowe lub, które są
lub tylko pojedynczą równoległą kreską.
Staraj się nie mylić ich ponownie z operatorami logicznymi.
Operatory logiczne mają 2 z nich, ampersand ampersand, który jest i.
Operatory bitowe mają po prostu pojedynczy. Więc po prostu znak ampersand lub po prostu lub.
Więc to, co zamierzają zrobić, to przetestować i ustawić poszczególne
bity wewnątrz zmiennej całkowitej. Co jest trochę?
Wiemy, że to sposób na pomiar danych.
Ale trochę to w zasadzie tylko wartość 0 lub 1.
A 8 z nich tworzy bajt. Więc trochę to 0 lub 1.
A to, co możesz zrobić, to liczba całkowita,
pamiętaj, że w zależności od używanego systemu może to być 8 bajtów.
I tak można było włączać i wyłączać każdy bit.
A kiedy mówię włącz lub wyłącz, mówię, że możesz mieć je równe 1 lub 0.
A potem możesz użyć tych bitów, żeby ci coś powiedzieć.
Możesz więc przechowywać wiele danych, mając bity reprezentujące jakiś rodzaj danych.
Dlatego jednym z powodów, dla których komputer używa
bitów w jedynkach i zerach oraz liczb binarnych do wykonywania operacji, ponieważ można przechowywać
dużo danych. Oto
przykład, co to dokładnie oznacza. Możesz użyć jednej zmiennej całkowitej.
Ponownie, liczba całkowita to liczba, liczba całkowita reprezentuje od 4 do
8 bajtów, w zależności od używanego systemu.
Oznacza to, że jeśli są 4 bajty, oznacza to, że są 32 bity.
Jest 32 wartości 0 lub 1.
Więc możesz użyć tych wszystkich bitów, aby coś reprezentować.
Na przykład, jeśli chcesz przechowywać pojedyncze znaki osoby, możesz po prostu mieć 1 bit,
powiedzieć ci, czy dana osoba jest mężczyzną
czy kobietą, mówiąc, że 1 jest równe mężczyznom 0 równa się kobietom.
Po prostu go włączasz lub wyłączasz.
Następnie możesz użyć 3 bitów, aby określić,
czy dana osoba mówi po francusku, niemiecku czy włosku.
Zatem bit 1 może reprezentować język francuski. Jeśli nie jest to 1
0, oznacza to, że nie mówią po francusku.
Jeśli niemiecki ma wartość 0, oznacza to, że nie mówią po niemiecku.
Jeśli jest 1, oznacza to, że mówią po niemiecku. Więc wyłączając i włączając te bity,
ustawiając je od 1 do 0, możesz reprezentować wiele danych.
Mógłbyś mieć inny kawałek do zapisania, czy pensja danej osoby wynosi 50 000 lub więcej.
Jeśli jest 1, to prawda, tak, to jest. 0 fałszywe.
Więc w zasadzie właśnie tutaj określiliśmy.
W rzeczywistości mówi 4, ale w rzeczywistości określiliśmy 5 bitów danych, tylko
5 z tego, czy mamy 32 lub 64 bity,
ale użyliśmy tylko 5 i jesteśmy w stanie określić, czy dana
osoba jest kobietą czy mężczyzną , niezależnie od tego, czy mówią po francusku, niemiecku
lub włosku, czy też we wszystkich trzech lub w jednym lub drugim.
I czy zarabiają więcej niż 50 000 dolarów.
Wszystkie te dane możemy przedstawić w naszych bitach.
I tu przydają się operatory bitowe.
Teraz, gdy wiemy, jak możemy używać bitów do przechowywania wielu
różnych danych. Porozmawiajmy o tych liczbach binarnych.
Wiemy, że liczba binarna to po prostu liczba składająca się z jedynek i zer.
I dlatego jest to korzystne w użyciu. Operatory bitowe w liczbie całkowitej, liczba
może mieć dowolną długość.
Poniżej znajdują się przykłady liczb binarnych, tylko 0 i 1.
Więc widzieliście to 0 1 0 1 0 1 1 0 1 0 1 0.
I pamiętaj, że bajt to 8 bitów.
Na większości platform liczba całkowita ma zwykle 4 bajty.
To zależy od architektury, ale głównie 32 bity.
Masz więc 32 wartości, które możesz zapisać za pomocą 1 i 0, aby wskazać włączone lub wyłączone.
Liczby binarne, znowu każda liczba binarna ma odpowiednią wartość dziesiętną,
więc musisz zrozumieć, jak przekonwertować liczbę dwójkową na dziesiętną.
Przykłady tutaj 1 to 1, 1 0 to 2, 1 1 to
3, to są proste konwersje.
Ponownie, zwykle mają więcej bitów, 1 0 1 0 1 1 1.
Sposób, w jaki chcesz przekonwertować liczby binarne na
liczbę dziesiętną, polega na sprawdzeniu każdej
pozycji w bajcie za pomocą odpowiedniego bitu, a następnie użycie potęgi 2.
Więc dla każdej cyfry mnożysz tę cyfrę przez jej
wartość pozycji, używając potęgi 2. A następnie sumujesz cały projekt, aby uzyskać ostateczny wynik.
Zatem wartości pozycji i liczba binarna są potęgami 2.
Zatem pierwszą pozycją byłaby wartość 2 0,
czyli innymi słowy 1.
I wtedy druga pozycja byłaby wartością 2 do pierwszej potęgi, która wynosi 2, 2
do 2 byłoby 4, 2 do 3 byłoby 8,
2 do 4 byłoby 16. I robisz
to w kółko. Dlatego łatwiej jest to zrozumieć, jeśli zobaczysz ładny przykład.
Mamy tutaj liczbę binarną 0 1 1 0 1 0 0 1.
Dziesiętny odpowiednik tego wynosi 105.
Sposób konwersji polega na rozpoczęciu od prawej strony dla każdego bitu i
pomnożeniu do potęgi 2 w zależności od tego, czy bit jest równy 0 1.
Więc jeśli zaczniemy całą drogę w prawo, mamy 1.
Więc mówimy 1 razy 1 i zachowujemy 1. Następnie następne 1, druga
pozycja to 0 razy 2 0. Wtedy 0 razy 4, 1
razy 8, 0 razy 16,1 razy 32, 1
razy 64 i 0 razy 28.
Dodajesz to wszystko i otrzymujesz wynik 105.
To jeden sposób na konwersję. W rzeczywistości możesz przekonwertować go również
od lewej do prawej, mnożąc przez 2, a następnie dodając 1 lub dodając
0, w zależności od tego, jaki jest następny bit. Na przykład możesz również
przejść od lewej do prawej, zaczynając
od 1, ponieważ 0 nie ma znaczenia.
Więc drugi kawałek, przechodząc od lewej do prawej, masz 1.
Trzeci bit, masz 1 razy 2 dodać 1,
więc masz 3.
I znowu mnożysz przez 2, więc mówisz 3 razy 2 dodać 0, czyli 6.
6 razy 2 dodać 1, czyli 13.
13 razy 2 daje 26.
26 razy 2 daje 52
razy 2, czyli 104 dodać 1.
Więc ponownie pomnóż przez 2, a następnie dodaj 1. Inny przykład, znowu,
od prawej do lewej jest zwykle trochę łatwiejszy.
Oto 1 0 0 1 1 1 0 0.
I to konwertuje do 156, ponieważ znowu mówisz 0 razy 1, 0
razy 2, 1 razy 4, 1 razy 8, 1 razy
16 i tak dalej, a następnie
dodajesz je wszystkie razem, czyli 4 8 12 16 28 dodać 128 to 156 .
I znowu, jeśli pójdziesz od lewej do prawej, pomnóż przez 2, dodaj 1.
Więc zaczęliśmy za 1. Powiedz 1
2 4 9, 4
razy 2 dodać 1, 9
razy 2 to 18 dodać 1 to 19
razy 2, 38 dodać 1 to 39 razy 2,
czyli 78 razy 2, czyli 156.
To jest krótka demonstracja, w jaki sposób można zamienić
liczbę dwójkową na dziesiętną. Teraz konwertując decybel na
binarny, zwykle używam konwersji w Internecie,
jeśli naprawdę Cię to interesuje. Ale możesz wziąć te liczby binarne, a
następnie wykonać operatory bitowe. Przyjrzyjmy się więc operatorom bitowym.
Podsumowano więc operatory bitowe. I znowu, kolejny fajny stół, który
znalazłem online, ale wyglądają podobnie do operatorów logicznych. Ale znowu, nie myl ich.
Zatem znak ampersand sam w sobie jest binarny i operator.
A więc to, co robi, to kopiowanie trochę do wyniku,
jeśli istnieje on w obu operandach. Więc jeśli oba są prawdziwe, to
trochę się skopiuje.
Więc jeśli a i b są równe
12, otrzymasz binarną reprezentację 0 0 0 0 1 1 0 0.
Zatem a i b
byłyby tą liczbą. Przejdziemy przez kilka przykładów.
Binarny lub kopiuje bit, jeśli istnieje w którymkolwiek z operandów, więc a
lub b skopiują bit,
jeśli istnieje w którymkolwiek z operandów. Więc jeśli którykolwiek
z operandów jest równy 1, zostanie trochę skopiowany.
A potem binarny xor, to jest wyłączny lub.
Spowoduje to skopiowanie bitu, jeśli jest ustawiony w jednym operandzie, ale nie w obu.
Więc jeśli masz prawdę, ale tylko 1
prawda i używasz marchewki do reprezentowania tego na klawiaturze,
to trochę skopiuje i powie, że to
prawda,
dopełnienie binarne 1.
Więc znowu otrzymujemy tutaj dane binarne, ponieważ mówimy o bitach. Miejmy nadzieję, że uzupełnienie
1.
Operator jest jednoargumentowy i ma
efekt odwracania bitów, po prostu negując i wyłączając monitor.
Przykładem tutaj jest, jeśli powiesz tyldę
a, stosujesz operator dopełnienia 1s.
A jeśli jest równe minus 61, to będzie 1 1 0 0 0 0 1.
Więc gdybyś faktycznie zamienił tę liczbę binarną
na dziesiętną, która jest liczbą ujemną, a pierwsza
liczba jest znakiem. Więc mówię ci, że to znak.
A potem mówisz 1 2 4 8 16 33,
a potem 61, więc tak to będzie przedstawione.
Więc przejdę przez bardziej konkretne przykłady tego.
Ale w zasadzie, jeśli masz liczbę binarną, a jest początkowo liczbą binarną, która wynosi 0 0 1
1 1 1 0 0, która wynosi 60, a ty
dostarczysz przerzucenie, a następnie zamieni się w
ujemne 61, czyli 1 1 0 0 0 0 0 0 0 0 0 1 1.
Więc to są wyniki zmiennych, które są faktycznie ustawione. Więc znowu, zakładam, że
a ma pewną reprezentację binarną, a b ma pewną reprezentację binarną.
Więc jeśli a jest równe, ponownie, 60
i b jest równe 13, to wynik sumowania ich razem,
robiąc bitowo, będzie 0000 11 00, czyli 12.
Ponownie przejdę przez te przykłady, ale próbuję przedstawić
krótki opis tych różnych operatorów binarnych.
Symbol mniej niż mniejszy przesunie bity w lewo.
Zatem wartość lewego operandu jest przesuwana w lewo o liczbę bitów określoną przez biały operand.
Więc jeśli zrobisz coś w rodzaju
a mniej niż
2, a a jest w rzeczywistości równe, znasz
jakąś liczbę binarną, na przykład 0 0 1 1 1 1 0 0,
przesuniesz bajty o 2.
Więc zdejmiesz zera i stanie się 1 1 1 1, a te zera przejdą do końca.
To samo dotyczy właściwego operatora zmiany. Po prostu przesuwasz je w prawo, a nie w lewo.
Tutaj używasz symboli większych niż.
A więc przejdę przez to za sekundę.
Inną ważną rzeczą, którą należy zrozumieć w przypadku operatorów bitowych, jest
sposób oszacowania tych wartości a i b. Więc co daje 1
i 1 przeliczane na 1, jeśli jest
to ampersand. Jeśli jest to lub
1 i 1 również daje 1.
Ale 1 i 1 i 0, jeśli używasz znaku „i” i
wykonujesz „i”, to daje 0 fałsz. Dlatego chciałem podać tutaj
małą tabelę prawdy, która pokazuje wartości, kiedy
to robisz, używasz i lub wyłącznego lub.
Więc tutaj, jeśli masz p0 i q0, co oznacza, że oba są
fałszywe i zastosujesz i, to będzie
fałsz, ponieważ oba muszą być prawdziwe, aby to było prawdziwe.
I to właśnie widzisz w wierszu 3.
Oba są prawdziwe, a p i q da wartość 1, prawda.
Jeśli nie oba są prawdziwe, zawsze jest fałszywe.
P lub q tylko 1 z nich musi być prawdziwy.
Dlatego widzisz, że wiersze 1 i 2 są równe 1, a wiersz 3 równy 1.
Fałsz jest tylko wtedy, gdy oba są fałszywe.
A następnie wyłączność lub przynajmniej 1 z nich jest
prawdziwa, a tylko 1.
Więc jeśli p jest fałszywe, a q jest prawdziwe, zwróci prawdę.
A jeśli p jest prawdziwe, a q jest fałszywe, zwróci 1.
To daje wyobrażenie o tym, jak jest oceniany.
Ponownie, dużo matematyki, ale kiedy mówimy o cyfrach binarnych, to właśnie o tym mówimy.
Spójrzmy więc na kilka konkretnych przykładów i bloków kodu. Miejmy nadzieję, że to trochę pomoże.
Oto nasza funkcja. Utworzę jeszcze kilka zmiennych.
Upewnię się, że są niepodpisane, mimo
że jest to domyślne. Więc jeśli powiem unsigned int a
i przypiszę go do 60, to w rzeczywistości będzie to reprezentowane binarnie jako 0
0 1 1, a następnie 11 00.
Jeśli utworzę kolejną zmienną bez znaku i powiem
int b i przypiszę jej wartość
13, będzie to faktycznie reprezentowane jako binarne 0 0 00
1 1 0 1. Możesz tam dokonać konwersji.
Ale chcę tutaj pokazać, że kiedy ustawisz te liczby
binarne, możesz wyłączyć bity, używając różnych operandów bitowych.
Więc teraz utworzę wynik int i powiem, że
będzie równy 0.
E będzie przechowywać wynik operacji bitowej.
operacja. Teraz, jeśli powiem, że c równa
się a i zastosuję operand bitowy oraz a i b, to teraz
powinno to zrobić, jeśli a jest równe 1, a b jest równe 1,
to bity zostaną włączone. Więc czego można się spodziewać po wyniku tego v.
Cóż, patrzysz na pierwszy bit a i patrzysz na pierwszy bit b i
oba są równe 0.
Więc wynik będzie równy 0, ponieważ
jeśli zrobisz to prawda w a i b, oba muszą być prawdziwe, aby było 1.
Więc następny też będzie równy 0. Następny to 1 i 0, trzeci bit.
Więc to nadal 0, 1 i 0 to nadal 0. A teraz mamy 1 i 1.
Więc teraz wreszcie mamy prawdę. Mamy jeszcze 1 i 1. Mamy prawdę.
A potem 0 i 0 będzie równe 0, a następnie 0 i 1
będzie równe 0.
Więc wynik, gdybym spróbował wydrukować c, wypisze wartość
w formacie dziesiętnym. Gdybym miał coś
takiego zrobić, wypisze dziesiętny odpowiednik tej liczby binarnej, który
byłby odpowiednikiem 0 0 0 0.
A to wszystko polega na zamianie liczby dwójkowej na dziesiętną, więc musisz zrozumieć,
jak to zrobić, aby zrozumieć ten przykład. Ale 0 0 0 0 1
1 0 0 to w rzeczywistości 1 3 7, wartość to
w rzeczywistości 12, 1 3 6 12.
Więc wypisałoby to dwanaście,
gdybym wydrukował
c lub wynik byłby lepszy.
Więc jeśli to uruchomię, zobaczysz, że wartość wynosi 12.
W rzeczywistości wyłączył się i włączył wszystkie bity na podstawie znaku ampersand.
Więc teraz
mówię run, widzimy, że wartość jest w d12, ponieważ
wyłącza się i włącza bity i będzie
faktycznie reprezentowana jako 0 0 0 1 1
0 0, co jest wartością 12, ponieważ drukujemy ułamek dziesiętny .
Gdybym miał to zmienić i chciałbym teraz
zrobić lub i nadal robię lub, a lub pamiętam to
równoległy
pasek tuż obok enter, teraz włączę bity tylko wtedy,
gdy 1 jest prawdziwe. Więc 00, oba
są fałszywe. Znowu porównuję tutaj.
Porównuję te bity dla 16 i 13.
16 jest reprezentowane jako binarne 0 0 1 1 1 1 0 0.
13 jest reprezentowane binarnie 0 0 0 0 1 1 0 to 1.
Każda z tych liczb reprezentuje trochę.
Zatem pierwszy bit w 60 to 0, pierwszy bit w 13 to 0.
A jeśli zamówię je razem, 0 i 0, nadal otrzymam 0. Więc to jest pierwszy wynik pierwszego bitu.
Ponownie drugi bit 00. Trzeci bit to 1 dla 60
i 0 dla 13.
To wszystko oznacza, że muszę mieć 1 prawdę, więc to będzie 1.
To samo dotyczy bitu numer 4 i 16, 13. Więc teraz znowu mam 1.
A potem 1 i 1, oba są prawdziwe. Więc znowu 1, wszystko
czego potrzebuję to 1 prawda, kolejne 1.
Obie są fałszywe, więc to nie będzie prawda. 0, pamiętaj, że nie jest
prawdą, 1 jest prawdą i 0 11. Więc teraz mam 0 0 1 1 1 1 0 1.
A wartość tego w postaci dziesiętnej, gdybym miał to
wydrukować, to znowu musisz zrozumieć, jak przekonwertować liczbę
dwójkową na dziesiętną, ale w zasadzie wynosi 1 3
7 15 30 61. Więc to wydrukuje 61.
Zakończ ten program i
przebuduj go, a zobaczymy wartość 61.
Więc to są operatory bitowe. I znowu, jest to
bardziej rodzaj bardziej zaawansowanych programów, ale jest to dobry
sposób na przedstawienie dużej ilości danych za pomocą znaków ampersand i tak
dalej, zasadniczo włączając i wyłączając bity. Więc możesz się
tym bawić. Możesz zrobić wyłączność lub która jest marchewką.
Marchewka znajduje się nad 6, numerem 6 na klawiaturze.
Zobaczysz inny wynik. Jeśli dodasz tyldę, to w zasadzie wszystko wyłączy.
Zatem dla a i a jest równe 60, 0 0 1 1 1 1 0 0,
to nie będzie równe 1 1 0 0 0 0 1 1.
Kolejną naprawdę fajną rzeczą, którą możesz zrobić za pomocą operatorów binarnych, jest
przesuwanie, przesuwanie w lewo iw prawo. Jest kilka kluczowych rzeczy, które wiesz, kiedy musisz
przesunąć w lewo lub w prawo.
Przede wszystkim wiemy, że liczba int bez znaku oznacza, że
może być tylko dodatnia. To nie może być negatywne.
Więc jeśli przechowujesz tam wartość ujemną, kompilacja skonwertuje ją, będzie dłuższa, zajmie dużo rozmiaru.
Pamiętaj więc, że liczba int bez znaku oznacza, że możesz mieć tylko wartości dodatnie.
Podpisane liczby całkowite oznaczają, że mogą być ujemne lub dodatnie.
Ale jeśli chcesz przesunąć,
pamiętaj, aby przesunąć w lewo, więc teraz, jeśli powiemy, że
wynik jest równy i powiedzmy, że chcemy przesunąć a, powiedzmy, o
2, inną ważną
rzeczą, którą chcesz wiedzieć, jest liczby całkowite, liczby
całkowite to, pamiętaj, na większości platform
mają 4 bajty. To zależy, czy
możesz uzyskać rozmiar, wykonując rozmiar operatora. Czyli liczba całkowita to tak
naprawdę 4 to 32 bity, więc tak naprawdę liczba
wygląda mniej więcej tak. 16 coś takiego,
co to jest 4 8 12 16 20 24.
Więc prawdopodobnie coś takiego i coś takiego.
To naprawdę liczba. Pokazałem tylko ostatnie
8 bitów, ponieważ reszta to 0. Ale jeśli spojrzymy na to jako na
32-bitową liczbę całkowitą, która ma 4 bajty, tak to wygląda w
postaci binarnej, 4 0s 4 0s 4 0s 4 0s 4 0s 4 0s,
a następnie 0 0 1 1 1 1 0 0 .
Więc poznałeś rozmiar, kiedy wykonujesz przesuwanie w lewo lub
w prawo, ponieważ jeśli przesuniesz więcej niż 2, nie będzie to jasne.
Nie odpada ani nic takiego.
Więc znowu pozwól mi tylko upewnić się, że 48 12 16 20
24 28 32 i tak samo będzie dla 13.
Więc jeśli przesunąłbyś w lewo o więcej
niż 2, to ostatecznie będziesz miał to, że te 1s
również przesuną się w lewo. Tak więc wynikiem będą
nadal wszystkie te poprzedzające zera, ale
wtedy będziesz mieć 1 1 1 1 0 0 0 0.
A to będzie równe 240.
A jeśli dokonam szybkiej konwersji, robię to w głowie, mówiąc 1
3 7 15 30 60 122 40, ale
możemy to potwierdzić, budując i uruchamiając, a zobaczysz, że
wynik to 240.
Widzimy, że wynik to 240.
Więc teraz, jeśli chcesz przejść do mojego więcej niż 2 s,
powiedz, że chcesz przesunąć o 4, wtedy ważne jest, aby zrozumieć, że jest to liczba 32-bitowa.
Więc tutaj faktycznie musiałbyś użyć niektórych z tych zer.
Więc jeśli chcesz przesunąć o 4, tak naprawdę to, co byś miał, to
po prostu coś takiego.
A gdybyś chciał pogrupować je
według 4, miałbyś
coś takiego. Więc wynik byłby
tutaj ponownie, jeśli zrobię to w mojej głowie,
masz 1 3 7 15 30 60 120
240 480, a następnie 960.
Mam nadzieję, że zrobiłem to dobrze. Ponownie, gdy uruchomimy to i powiemy
960, to przesuwa się
w lewo. Jeśli chcesz
przesunąć w prawo, użyj symboli większych niż.
Więc przechodząc do prawego binarnego operatora przesunięcia w
prawo, robisz większe niż. Binarny operator przesunięcia w lewo, robisz mniej niż.
Więc tutaj, jeśli zamierzasz przesunąć się w prawo, chcesz przejść w prawo 4.
A co się stanie, jeśli masz tutaj koniec, więc jeśli masz
oryginalne 60, spróbuj iść 4. Będziesz mieć cyfry, które po prostu zostaną odrzucone.
Zamiast więc mieć te ostatnie 4, które pierwotnie
znowu mamy 60. Mamy więc 0
0 0 1 1 1 1 0 0, musimy przesunąć się po 4.
Więc skończymy na utracie 2 bitów, ponieważ po prostu odpadną.
A skończymy na
czymś takim, jak to
0 0. Więc to byłoby po prostu równe
3, coś w tym rodzaju, więc faktycznie tracisz bity, ponieważ zbytnio przesuwasz
w prawo, otrzymujesz wynik 3. Więc musisz być ostrożny podczas
przesuwania w lewo iw prawo, upewnij się, że używasz tych 32 bity
4 bajty ponownie, w zależności od twojego systemu.
To krótkie podsumowanie operatorów bitowych.
Kiedy stajesz się bardziej zaawansowany, musisz zrozumieć, w jaki
sposób możesz faktycznie sprawdzić, czy dany bit ma wartość 1 czy 0.
To całkiem proste. Po prostu zrób i na tym.
Ale musisz napisać trochę więcej kodu.
Ten wykład nie miał być wyczerpującym spojrzeniem na operatory bitowe.
Chciałem dać ci ogólny
zarys, dać ci dobry początek. Ale aby lepiej zrozumieć te operatory,
będziesz musiał się trochę więcej nauczyć, używać ich i ćwiczyć.
Mam więc nadzieję, że to było pomocne. Ponownie, może to być trochę zagmatwane, więc
chcesz śledzić i chcesz się z tym bawić. Ale znowu, jaki jest najlepszy sposób na naukę,
napisanie kodu, nauczenie się kilku przykładów. Dziękuję Ci.