Halo dan selamat datang. Mari kita bicara tentang operator bitwise.
Kami telah menunjukkan kepada Anda sedikit tentang ini di kuliah sebelumnya ketika kita berbicara tentang operator
penugasan karena operator penugasan memiliki semua penugasan gabungan ini di mana
Anda dapat melakukan operasi seperti penambahan dan kemudian juga penugasan.
Anda dapat melakukan hal yang sama dengan operator jenis ini.
Tapi mari kita bahas ini lebih detail dan dengan tepat memberi tahu Anda apa itu.
Jadi c menawarkan operator logika bitwise
dan operator shift. Istilah-istilah itu mungkin sama sekali tidak tahu apa-apa.
Mereka terlihat seperti operator logika, tetapi mereka sangat berbeda. Mereka tidak melakukan evaluasi Boolean
apa pun. Mereka tidak menilai benar atau salah.
Mereka terlihat seperti ampersand ampersand, 2 ors, tetapi mereka
tidak melakukan evaluasi Boolean apa pun.
Apa yang mereka lakukan adalah mereka beroperasi pada bit, di dalam nilai integer.
Jadi Anda mungkin bertanya pada diri sendiri mengapa Anda ingin melakukan ini? Yah, itu tidak
digunakan di sebagian besar program. Ini lebih merupakan teknik canggih.
Padahal ini kelas pemula. Mereka adalah bagian dari operator, dan operator adalah konsep pemula.
Jadi saya akan membahasnya, tetapi kita tidak harus fokus pada mereka.
Saya akan memberikan beberapa contoh, menunjukkan kepada Anda bagaimana Anda dapat menggunakannya.
Tapi Anda tidak akan menjadi ahli dalam hal ini setelah kuliah ini.
Tetapi cara mereka berguna dan mengapa Anda benar-benar ingin menggunakannya adalah karena
Anda dapat menyimpan cukup banyak data.
Jadi ada operan bitwise yang disebut dan, ampersand dan bitwise atau yang
merupakan atau hanya satu bilah paralel.
Cobalah untuk tidak bingung lagi dengan operator logika.
Operator logika memiliki 2 di antaranya, ampersand ampersand, yang merupakan dan.
Operator bitwise hanya memiliki satu. Jadi hanya sebuah ampersand atau hanya sebuah atau.
Jadi apa yang akan mereka lakukan adalah mereka akan menguji dan mereka akan mengatur bit
individu di dalam variabel integer. Apa itu sedikit?
Kita tahu sedikit adalah cara untuk mengukur data.
Tapi sedikit pada dasarnya hanya nilai 0 atau 1.
Dan 8 di antaranya membentuk satu byte. Jadi sedikit adalah 0 atau 1.
Dan yang dapat Anda lakukan adalah bilangan
bulat, ingat, tergantung pada sistem yang Anda jalankan, bisa jadi 8 byte.
Jadi Anda bisa menghidupkan dan mematikan setiap bit.
Dan ketika saya mengatakan nyalakan atau matikan, saya katakan Anda dapat membuatnya sama dengan 1 atau 0.
Dan kemudian Anda dapat menggunakan bit itu untuk memberi tahu Anda sesuatu.
Jadi Anda dapat menyimpan banyak data dengan memiliki bit yang mewakili beberapa jenis data.
Itulah mengapa salah satu alasan mengapa komputer menggunakan
bit dalam 1 dan 0 dan bilangan biner untuk melakukan operasi karena Anda dapat
menyimpan banyak data. Sekarang persis
apa artinya ini adalah sebuah contoh. Anda bisa menggunakan variabel integer tunggal.
Sekali lagi, bilangan bulat adalah angka, bilangan bulat mewakili 4 hingga 8
byte tergantung pada sistem yang Anda jalankan.
Itu berarti jika ada 4 byte itu berarti ada 32 bit.
Ada 32 0 atau 1 nilai.
Jadi Anda dapat menggunakan semua bit itu untuk mewakili sesuatu.
Jadi misalnya jika Anda ingin menyimpan karakter individu seseorang, Anda hanya bisa memiliki 1
bit, memberitahu Anda apakah orang tersebut laki-laki
atau perempuan dengan mengatakan 1 sama dengan laki-laki 0 sama dengan perempuan.
Anda tinggal menyalakannya atau mematikannya.
Kemudian Anda dapat menggunakan 3 bit untuk menentukan
apakah orang tersebut dapat berbicara bahasa Prancis, Jerman, atau Italia.
Jadi 1 bit bisa mewakili bahasa Prancis. Jika bukan 1 0, maka
itu berarti mereka tidak berbicara bahasa Prancis.
Jika bahasa Jerman adalah 0 itu berarti mereka tidak berbicara bahasa Jerman.
Jika 1, itu berarti mereka berbicara bahasa Jerman. Jadi dengan mematikan dan mengaktifkan bit-bit
ini, menyetelnya 1 ke 0, Anda dapat mewakili banyak data.
Anda dapat memiliki sedikit lagi untuk mencatat apakah gaji orang tersebut adalah 50.000 atau lebih.
Jika 1, itu benar, ya, benar. 0 salah.
Jadi pada dasarnya kami hanya ditentukan di sini.
Sebenarnya mengatakan 4, tetapi kami sebenarnya menentukan 5 bit data, hanya
5 dari apakah kami memiliki 32 atau jika kami
memiliki 64 bit, tetapi kami hanya menggunakan 5 dan kami
dapat mewakili apakah seseorang itu perempuan atau laki-laki , baik mereka berbicara bahasa
Prancis, Jerman atau Italia atau tidak atau ketiganya atau salah satunya.
Dan apakah mereka menghasilkan lebih dari $50.000 atau tidak.
Kami dapat mewakili semua data itu dalam bit kami.
Dan di sinilah operator bitwise berguna.
Sekarang kita tahu bagaimana kita dapat menggunakan bit untuk menyimpan banyak
data yang berbeda. Mari kita bicara tentang bilangan biner itu.
Kita tahu bahwa bilangan biner hanyalah bilangan yang mencakup 1s dan 0s.
Dan itulah mengapa itu menguntungkan untuk digunakan. Operator bit dalam bilangan bulat, jumlahnya
bisa berapa pun panjangnya.
Berikut ini adalah contoh bilangan biner, hanya 0s dan 1s.
Jadi Anda telah melihat ini 0 1 0 1 0 1 1 0 1 0 1 0.
Dan ingat bahwa satu byte adalah 8 bit.
Integer biasanya 4 byte di sebagian besar platform.
Itu tergantung pada arsitekturnya, tetapi kebanyakan 32 bit.
Jadi, Anda memiliki 32 nilai yang dapat Anda simpan dengan 1s dan 0s untuk menunjukkan hidup atau mati.
Bilangan biner, sekali lagi setiap bilangan biner memiliki nilai desimal yang
sesuai, jadi Anda perlu memahami cara mengubah biner ke desimal.
Contoh di sini 1 sama dengan 1, 1 0 adalah 2, 1 1
adalah 3, ini adalah konversi sederhana.
Sekali lagi, biasanya mereka memiliki lebih banyak bit, 1 0 1 0 1 1 1.
Cara Anda ingin mengonversi bilangan biner ke bilangan desimal
adalah Anda ingin melihat setiap posisi
dalam byte dengan bit yang sesuai dengan bit dan kemudian menggunakan kekuatan 2.
Jadi untuk setiap digit Anda mengalikan digit dengan
nilai posisinya menggunakan kekuatan 2. Dan kemudian Anda menambahkan seluruh proyek untuk mendapatkan hasil akhir.
Jadi nilai posisi dan bilangan biner adalah pangkat 2.
Jadi posisi pertama adalah nilai 2 0, yang,
dengan kata lain, adalah 1.
Dan kemudian posisi kedua akan menjadi nilai 2 pangkat pertama yaitu 2, 2 ke 2
akan menjadi 4, 2 ke 3 akan menjadi 8, 2
ke 4 akan menjadi 16. Dan Anda
terus melakukannya berulang-ulang. Dan lebih mudah untuk memahami jika Anda melihat contoh yang bagus.
Jadi di sini kita memiliki bilangan biner 0 1 1 0 1 0 0 1.
Persamaan desimal dari itu adalah 105.
Cara Anda mengonversi adalah Anda mulai dari sisi kanan untuk setiap
bit dan Anda mengalikannya dengan pangkat 2 tergantung pada apakah bitnya 0 1.
Jadi jika kita mulai semua jalan ke kanan, kita memiliki 1.
Jadi kami mengatakan 1 kali 1 dan kami menyimpannya 1. Kemudian 1 berikutnya, posisi
kedua adalah 0 kali 2 0. Kemudian 0 kali 4, 1
kali 8, 0 kali 16,1 kali 32, 1
kali 64 dan 0 kali 28.
Dan Anda menambahkan semuanya, dan Anda mendapatkan hasil 105.
Itu 1 cara untuk mengkonversi. Anda sebenarnya dapat mengubahnya dari
kiri ke kanan juga dengan mengalikannya dengan 2 dan kemudian menambahkan
1 atau menambahkan 0 tergantung pada bit berikutnya. Jadi misalnya, Anda juga
bisa jika Anda ke kiri ke kanan,
Anda memulai dengan 1 karena 0 tidak masalah.
Jadi bit kedua dari kiri ke kanan, Anda memiliki 1.
Bit ketiga, Anda memiliki 1 kali 2 ditambah 1,
jadi Anda memiliki 3.
Dan lagi, Anda mengalikan dengan 2 sehingga Anda mengatakan 3 kali 2 ditambah 0 yaitu 6.
6 kali 2 ditambah 1, yaitu 13.
13 kali 2 adalah 26.
26 kali 2 adalah 52
kali 2, yaitu 104 ditambah 1.
Jadi sekali lagi kalikan dengan 2 dan kemudian tambahkan 1. Contoh lain, sekali
lagi, kanan ke kiri biasanya sedikit lebih mudah.
Inilah 1 0 0 1 1 1 0 0.
Dan itu diubah menjadi 156 karena Anda mengatakan lagi 0 kali
1, 0 kali 2, 1 kali 4, 1 kali 8,
1 kali 16 dan seterusnya dan
kemudian Anda menambahkan semuanya, yaitu 4 8 12 16 28 ditambah 128 adalah 156 .
Dan lagi, jika Anda ke kiri ke kanan Anda kalikan dengan 2 tambahkan 1.
Jadi kami mulai untuk 1. Katakanlah 1
2 4 9, 4
kali 2 ditambah 1, 9
kali 2 adalah 18 ditambah 1 adalah 19
kali 2, 38 ditambah 1 adalah 39 kali 2
yaitu 78 kali 2 yaitu 156.
Jadi ini adalah demonstrasi singkat tentang bagaimana Anda dapat
mengubah biner ke desimal. Sekarang mengubah desibel menjadi biner,
saya biasanya hanya menggunakan konversi di web
jika Anda benar-benar tertarik dengan itu. Tetapi Anda dapat mengambil bilangan biner ini dan
kemudian melakukan operator bitwise Jadi mari kita lihat operator bitwise.
Jadi operator bitwise dirangkum di sini. Dan lagi, tabel bagus lainnya yang saya
dapatkan online, tetapi terlihat mirip dengan operator logika. Tapi sekali lagi, jangan membingungkan mereka.
Jadi ampersand dengan sendirinya adalah biner dan operator.
Jadi yang dilakukan ini adalah menyalin sedikit ke hasil
jika ada di kedua operan. Jadi jika keduanya benar, maka itu
akan sedikit menyalin.
Jadi jika a dan b sama dengan 12,
Anda akan memiliki representasi biner 0 0 0 0 1 1 0 0.
Jadi a dan b
adalah bilangan tersebut. Kami akan membahas beberapa contoh.
Biner atau menyalin sedikit jika ada di salah satu operan sehingga a
atau b akan menyalin sedikit
jika ada di salah satu operan. Jadi jika salah satu
operan sama dengan 1, itu akan menyalin sedikit.
Dan kemudian xor biner, ini eksklusif or.
Ini akan menyalin bit jika diatur dalam 1 operan tetapi tidak keduanya.
Jadi jika Anda memiliki benar, tetapi hanya 1
benar dan Anda menggunakan wortel untuk mewakili ini pada keyboard Anda,
maka itu akan menyalin sedikit dan itu akan mengatakan
itu
benar, komplemen 1 biner.
Jadi sekali lagi, kita mendapatkan data biner di sini karena kita berbicara tentang bit. Jadi mudah-mudahan, 1's
melengkapi.
Operator unary dan memiliki efek
membalik bit, pada dasarnya hanya meniadakan dan melepas monitor.
Jadi contoh di sini adalah jika Anda mengatakan tilde
a, Anda menerapkan operator pelengkap 1s.
Dan jika sama dengan negatif 61, itu akan menjadi 1 1 0 0 0 0 1.
Jadi jika Anda benar-benar mengubah bilangan biner
itu menjadi desimal yang merupakan bilangan negatif dan bilangan
pertama adalah tandanya. Jadi saya memberi tahu Anda bahwa itu adalah sebuah tanda.
Dan kemudian Anda mengatakan 1 2 4 8 16
33 dan kemudian 61, jadi itu akan direpresentasikan.
Jadi saya akan membahas contoh yang lebih konkret tentang ini.
Tetapi pada dasarnya, jika Anda memiliki bilangan biner, a pada awalnya adalah bilangan biner yaitu 0 0
1 1 1 1 0 0 yaitu 60 dan Anda
memberikan flipping pada dasarnya itu akan berubah menjadi
negatif 61, yaitu 1 1 0 0 0 0 0 0 0 0 0 1 1.
Jadi ini adalah hasil dari variabel yang benar-benar ditetapkan. Jadi sekali lagi, saya berasumsi
bahwa a memiliki representasi biner tertentu dan b memiliki representasi biner tertentu.
Jadi jika a sama dengan, sekali lagi, 60
dan b sama dengan 13, maka hasil penjumlahannya dilakukan sedikit demi
sedikit dan akan menjadi 0000 11 00, yaitu 12.
Sekali lagi, saya akan membahas contoh-contoh ini tetapi ini mencoba memberikan
sedikit deskripsi tentang operator biner yang berbeda ini.
Kurang dari kurang dari simbol akan menggeser bit ke kiri.
Jadi nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan putih.
Jadi jika Anda melakukan sesuatu seperti
kurang dari 2
dan a sebenarnya sama dengan Anda mengetahui beberapa
bilangan biner, misalnya, 0 0 1 1 1 1 0 0, Anda akan
menggeser byte dengan 2.
Jadi Anda akan melepas angka 0 dan itu akan menjadi 1 1 1 1, dan angka 0 itu akan berakhir.
Begitu pula dengan operator shift kanan. Anda hanya menggesernya ke kanan, bukan ke kiri.
Di sini Anda menggunakan simbol lebih besar dari.
Jadi saya akan membahas ini sebentar lagi.
Hal penting lainnya untuk dipahami dengan operator bitwise adalah bagaimana
mengevaluasi nilai a dan b ini. Jadi apa yang
dievaluasi 1 dan 1 menjadi 1, jika
itu ampersand. Jika itu adalah atau 1
dan 1 dievaluasi menjadi 1 juga.
Tetapi 1 dan 1 dan 0 jika Anda menggunakan ampersand melakukan
an dan, yang bernilai 0 false. Jadi saya hanya ingin memberikan sedikit
tabel kebenaran di sini yang menunjukkan nilai-nilai ketika Anda
melakukannya, Anda menggunakan an dan an atau eksklusif atau.
Jadi di sini jika Anda memiliki p0 dan q0, yang berarti keduanya
salah dan Anda menerapkan an dan,
itu akan menjadi salah karena keduanya harus benar agar benar.
Dan itulah yang Anda lihat di baris 3.
Keduanya benar maka p dan q akan dievaluasi menjadi 1, benar.
Jika keduanya tidak benar, itu selalu salah.
P atau q hanya 1 yang harus benar.
Jadi itulah mengapa Anda melihat baris 1 dan baris 2 sama dengan 1 dan baris 3 sama dengan 1.
Satu-satunya saat itu salah adalah ketika mereka berdua salah.
Dan kemudian eksklusif atau setidaknya 1 dari mereka
benar, dan hanya 1.
Jadi jika p salah dan q benar, maka akan kembali benar.
Dan jika p benar dan q salah, itu akan mengembalikan 1.
Jadi ini memberi Anda gambaran tentang bagaimana itu dievaluasi.
Sekali lagi, banyak hal matematika, tetapi ketika kita berbicara tentang angka biner, itulah yang sedang kita bicarakan.
Jadi mari kita lihat beberapa contoh konkret dan blok kode. Mudah-mudahan, ini akan membantu sedikit.
Jadi inilah fungsi kita. Saya akan membuat beberapa variabel lagi.
Saya akan memastikan bahwa mereka tidak ditandatangani
meskipun itu secara default. Jadi jika saya mengatakan unsigned int
a dan menetapkannya ke 60, itu sebenarnya akan direpresentasikan dalam biner sebagai 0
0 1 1 dan kemudian 11 00.
Jika saya membuat variabel unsigned lain dan saya mengatakan
int b dan saya menetapkan bahwa
nilai 13, itu akan benar-benar direpresentasikan seperti dalam biner 0 0
00 1 1 0 1. Anda dapat melakukan konversi di sana.
Tetapi yang ingin saya tunjukkan di sini adalah bahwa ketika Anda mengatur bilangan
biner ini, Anda dapat mematikan bit dengan menggunakan operan bitwise yang berbeda.
Jadi sekarang saya hanya akan membuat hasil int, dan saya akan mengatakan bahwa
itu akan sama dengan 0.
E akan menyimpan hasil dari operasi bitwise.
operasi. Sekarang jika saya mengatakan c sama
dengan a dan saya menerapkan operan bitwise dan a dan b, sekarang
yang harus dilakukan adalah jika a sama dengan 1 dan b sama dengan
1, bit itu akan dihidupkan. Jadi apa yang Anda harapkan dari hasil v ini.
Nah, Anda melihat bagian pertama dari a dan Anda melihat bagian pertama dari b
dan keduanya adalah 0.
Jadi hasilnya akan menjadi 0 karena
jika Anda melakukannya benar di a dan b, keduanya harus benar untuk menjadi 1.
Jadi yang berikutnya juga akan menjadi 0. Yang berikutnya adalah 1 dan 0, bit ketiga.
Jadi masih 0, 1 dan 0 tetap 0. Dan kemudian sekarang kita memiliki 1 dan 1.
Jadi sekarang kita akhirnya memiliki yang benar. Kami memiliki 1 dan 1 lagi. Kami memiliki yang benar.
Dan kemudian 0 dan 0 akan menjadi 0 dan kemudian 0 dan 1
akan menjadi 0.
Jadi hasilnya jika saya mencoba untuk mencetak c, itu akan mencetak
nilai dalam format desimal. Jika saya melakukan sesuatu seperti
itu, itu akan mencetak ekuivalen desimal dari bilangan biner itu, yang
akan ekuivalen dengan 0 0 0 0.
Dan ini semua adalah konversi biner ke desimal, jadi Anda perlu memahami
bagaimana melakukannya untuk memahami contoh ini. Tapi 0 0 0 0
1 1 0 0 sebenarnya 1 3 7, nilai
sebenarnya adalah 12, 1 3 6 12.
Jadi ini akan mencetak dua belas
jika saya mencetak
c atau hasilnya akan lebih baik.
Jadi jika saya menjalankan ini, Anda akan melihat bahwa nilainya adalah 12.
Itu benar-benar dimatikan dan pada semua bit berdasarkan perbandingan ampersand.
Jadi sekarang saya
katakan jalankan, kita melihat bahwa nilainya dalam d12 karena
dimatikan dan pada bit dan itu akan
benar-benar direpresentasikan sebagai 0 0 0 1 1
0 0 yang merupakan nilai 12 karena kita mencetak desimal .
Jika saya mengubah ini dan sekarang saya ingin
melakukan atau dan saya masih melakukan atau dan atau ingat adalah
bilah paralel
tepat di sebelah enter, sekarang saya hanya akan mengaktifkan bit jika
salah satunya adalah benar. Jadi 00, keduanya
salah. Sekali lagi, saya membandingkan di sini.
Saya membandingkan bit ini untuk 16 dan 13.
16 direpresentasikan sebagai biner 0 0 1 1 1 1 0 0.
13 diwakili dalam biner 0 0 0 0 1 1 0 adalah 1.
Masing-masing dari angka-angka itu mewakili sedikit.
Jadi bit pertama di 60 adalah 0, bit pertama di 13 adalah 0.
Dan jika saya memesannya bersama-sama, 0 dan 0, saya masih akan mendapatkan 0. Jadi itulah hasil pertama dari bit pertama.
Bit kedua 00 lagi. Bit ketiga adalah 1 untuk 60
dan 0 untuk 13.
Sekarang semua itu berarti saya harus memiliki 1 true jadi itu akan menjadi 1.
Hal yang sama berlaku untuk bit nomor 4 dan 16, 13. Jadi sekarang saya punya 1 lagi.
Dan kemudian 1 dan 1, keduanya benar. Jadi sekali lagi 1, yang
saya butuhkan hanyalah 1 benar, 1 lagi.
Keduanya salah jadi itu tidak akan benar. 0, ingat tidak benar,
1 benar dan 0 11. Jadi sekarang saya punya 0 0 1 1 1 1 0 1.
Dan nilainya dalam desimal jika saya ingin mencetaknya sekali
lagi Anda harus memahami bagaimana mengkonversi biner ke
desimal tetapi pada dasarnya berjalan 1 3 7
15 30 61. Jadi ini akan mencetak 61.
Akhiri program ini dan bangun
kembali, dan kita akan melihat nilai 61.
Jadi itu operator bitwise. Dan sekali lagi, ini
adalah jenis program yang lebih canggih, tetapi ini adalah
cara yang bagus untuk mewakili banyak data dengan menggunakan ampersand dan sebagainya, dengan
menghidupkan dan mematikan bit, pada dasarnya. Jadi Anda bisa bermain-main
dengan ini. Anda bisa melakukan yang eksklusif atau yang wortel.
Wortel berada di atas 6, angka 6 pada keyboard.
Anda akan melihat hasil yang berbeda. Jika Anda menambahkan tilde, itu pada dasarnya akan mematikan semuanya.
Jadi untuk a dan a sama dengan 60, 0 0 1 1 1 1 0 0,
tidak akan sama dengan 1 1 0 0 0 0 1 1.
Hal keren lainnya yang dapat Anda lakukan dengan operator biner adalah menggeser,
menggeser ke kiri dan ke kanan. Ada beberapa hal penting yang Anda ketahui saat Anda
perlu menggeser ke kiri atau ke kanan.
Pertama-tama, kita tahu bahwa unsigned int berarti
hanya bisa positif. Tidak boleh negatif.
Jadi jika Anda menyimpan nilai negatif di sana, kompilasi akan mengonversinya akan lebih lama, itu akan memakan banyak ukuran.
Jadi ingat int yang tidak ditandatangani berarti Anda hanya dapat memiliki nilai positif.
Bilangan bulat bertanda berarti bisa negatif atau positif.
Tetapi jika Anda ingin
menggeser, ingat untuk menggeser ke kiri, jadi sekarang jika kita mengatakan
hasil sama dan katakanlah kita ingin menggeser a, katakanlah, dengan 2, hal
penting lainnya yang
ingin Anda ketahui adalah kapan Anda memiliki bilangan bulat,
bilangan bulat, ingat, mereka 4 byte di
sebagian besar platform. Itu tergantung Anda bisa
mendapatkan ukuran dengan melakukan ukuran operator. Jadi bilangan bulatnya
benar-benar 4 adalah 32 bit jadi benar-benar
jumlahnya seperti ini. 16 sesuatu seperti
itu apa itu 4 8 12 16 20 24.
Jadi Anda mungkin sesuatu seperti itu dan sesuatu seperti itu.
Itu benar-benar nomornya. Saya hanya menunjukkan 8
bit terakhir karena sisanya adalah 0s. Tetapi jika Anda melihat ini sebagai bilangan
bulat 32-bit, yaitu 4 byte, inilah yang terlihat dalam biner,
4 0s 4 0s 4 0s 4 0s 4 0s 4 0s dan
kemudian 0 0 1 1 1 1 0 0 .
Jadi Anda harus tahu ukurannya saat melakukan shift ke kiri
atau ke kanan karena jika Anda menggeser lebih dari 2, itu tidak akan jelas.
Itu tidak jatuh atau semacamnya.
Jadi sekali lagi izinkan saya memastikan 48 12 16 20 24 28
32 dan hal yang sama berlaku untuk 13.
Jadi jika Anda menggeser ke kiri lebih besar
dari 2, apa yang akhirnya Anda dapatkan adalah 1 ini
juga akan bergeser ke kiri. Jadi hasilnya akan tetap
semua 0 yang sebelumnya, tetapi kemudian
Anda akan memiliki 1 1 1 1 0 0 0 0.
Dan itu akan sama dengan 240.
Dan jika saya melakukan konversi cepat, saya melakukannya di kepala saya dengan mengatakan
1 3 7 15 30 60 122 40, tetapi kami
dapat mengonfirmasinya dengan membangun dan menjalankan dan Anda akan melihat
bahwa hasilnya adalah 240.
Dan kita lihat hasilnya adalah 240.
Jadi sekarang jika Anda ingin benar-benar beralih ke lebih dari 2 detik
saya, katakan Anda ingin menggeser 4, inilah saatnya menjadi penting untuk memahami bahwa itu adalah angka 32-bit.
Jadi di sini Anda benar-benar harus menggunakan beberapa dari 0 itu.
Jadi, jika Anda ingin bergeser dengan 4, apa yang akan Anda miliki adalah Anda hanya
akan memiliki sesuatu seperti itu.
Dan kemudian jika Anda ingin mengelompokkannya dengan
4, Anda akan memiliki
sesuatu seperti itu. Jadi hasilnya di sini
akan menjadi lagi jika saya melakukan ini di kepala
saya, Anda memiliki 1 3 7 15 30 60
120 240 480 dan kemudian 960.
Mudah-mudahan, saya melakukannya dengan benar. Sekali lagi ketika kami menjalankan ini dan
kami mengatakan 960, jadi itu
bergeser ke kiri. Jika Anda ingin
menggeser ke kanan, Anda menggunakan simbol lebih besar dari.
Jadi menggeser ke kanan operator shift kanan biner, Anda
melakukan lebih besar dari. Operator shift kiri biner, Anda melakukan kurang dari.
Jadi di sini jika Anda akan bergeser ke kanan, Anda ingin pindah ke kanan 4.
Dan apa yang terjadi jika Anda memiliki akhir di sini, jadi jika Anda memiliki 60
asli Anda, Anda mencoba untuk pergi 4. Anda akan memiliki angka yang baru saja diturunkan.
Jadi alih-alih memiliki 4 terakhir ini yang semula
lagi kami memiliki 60. Jadi kita punya
0 0 0 1 1 1 1 0 0, kita harus pindah 4.
Jadi kita akan berakhir kehilangan 2 bit karena mereka hanya akan drop off.
Dan apa yang akan
kita dapatkan adalah sesuatu seperti
ini 0 0. Jadi ini hanya akan sama dengan 3,
sesuatu seperti itu sehingga Anda benar-benar kehilangan bit karena Anda terlalu banyak menggeser ke
kanan, Anda mendapatkan hasil 3. Jadi Anda harus berhati-hati saat
menggeser ke kiri dan ke kanan, pastikan Anda menggunakan 32 bit
4 byte itu lagi tergantung pada sistem Anda.
Ini adalah ringkasan singkat dari operator bitwise.
Ketika Anda menjadi lebih maju, Anda harus memahami bagaimana
Anda benar-benar dapat memeriksa apakah bit tertentu adalah 1 atau 0.
Ini cukup sederhana. Anda hanya melakukan dan di atasnya.
Tetapi Anda harus menulis sedikit lebih banyak kode.
Kuliah ini tidak dimaksudkan untuk menjadi pandangan lengkap tentang operator bitwise.
Saya ingin memberikan gambaran, memberi
Anda awal yang baik untuk itu. Tetapi untuk lebih memahami operator-operator ini,
Anda harus belajar sedikit lebih banyak dan menggunakannya serta mempraktikkannya.
Jadi saya harap ini bermanfaat. Sekali lagi, ini bisa sedikit membingungkan
sehingga Anda ingin mengikuti dan ingin bermain-main dengannya. Tetapi sekali lagi, apa cara terbaik untuk belajar,
menulis beberapa kode, mempelajari beberapa contoh. Terima kasih.