
Bit masking adalah proses yang digunakan untuk mengakses bit tertentu dalam byte data. Fenomena ini digunakan ketika Anda sedang melakukan proses iterasi. Bitmask dikatakan sebagai topeng dari urutan N –bit yang digunakan untuk mengkodekan bagian dari koleksi kami. Elemen-unsur topeng ini dapat diatur atau tidak. Ada operator bitwise untuk membuat atau mengaktifkan bit. Operator ini digunakan untuk menghidupkan bit atau sebaliknya.
Untuk menggunakan program C++ dalam menjalankannya di Linux, Anda harus memiliki file Ubuntu yang dikonfigurasi dan dalam keadaan berjalan. Selain itu, user harus memiliki pengetahuan tentang bahasa C++. Kode sumber C++ ditulis dalam editor teks. Sedangkan untuk proses eksekusinya menggunakan terminal Ubuntu.
Bitmask juga dikatakan sebagai topeng sederhana yang merupakan urutan n bit. Ini mengkodekan subset dari koleksi. Elemen ‘I’ hadir dalam subset dari bit ‘ith’ yang diatur dalam mask. Untuk himpunan unsur yang memiliki byte ke-n, ada kemungkinan memiliki topeng 2N yang sesuai dengan subset.
Mengapa bitmasking digunakan
Proses bitmasking menyimpan nilai yang berbeda dalam set angka yang sama. Sebagai contoh, perhatikan sebuah himpunan di mana s = {1, 2, 5, 8, 6, dan 7}. Untuk merepresentasikan himpunan {2, 5, 7}, kita dapat menggunakan bitmask 010110.
Operasi yang dilakukan oleh bitmap adalah sebagai berikut:
Mengatur bit ‘ith’
Hal ini dilakukan dengan mempertimbangkan nilai ‘x’. Kita dapat melakukan x|=x<<i untuk menyetel sedikit. Kami menggeser ‘a’ ke arah kiri sedikit demi sedikit, kemudian melakukan operasi bitwise.
Unset the ‘ith’ bit
Untuk unset bit, harus ada bit yang sudah di set oleh user atau default. Sehingga bit tertentu dapat di-unset dengan mudah. Jadi untuk itu, kami menggunakan operator x&=~(x <<i).
Beralih sedikit
Ini adalah proses di mana kita menggunakan operator x^=x<<i.
Dengan kata sederhana, jika Anda ingin mengatur sedikit, maka itu berarti bahwa jika bit ke-i adalah 0, maka diatur ke 1. Dan jika sudah 1 maka biarkan tanpa modifikasi apapun. Demikian pula, dalam kasus izin bit, jika bit ke-i adalah 1, maka harus dihapus ke 0. Dan jika sudah 0 sekarang, jangan mengubahnya; biarkan seperti apa adanya. Di mana pun untuk beralih sedikit, jika bit ke-i adalah 1, sekarang ubah bit ini menjadi 0. Dan jika sudah 0, sekarang Anda perlu mengubah kembali ke 1 lagi.
Contoh penyamaran bit
Konsep dasar bit masking dicoba di sini untuk menjelaskan cara kerja bit masking. Contoh ini melibatkan ketiga operasi bit masking yang dijelaskan di atas dalam panduan ini.
Sekarang mulai dengan aliran input dan output untuk melibatkan membaca dan menulis ke dalam file.
#include <iostream>
Kita lompat dulu ke program utama kode sumbernya agar kodenya menjadi lebih sederhana dan tertata dengan baik. Selain itu, akan menjadi pemahaman yang lebih bagi yang baru di bidang pemrograman. Seluruh program ini adalah sistem yang interaktif dengan user. Itu membutuhkan keterlibatan user di setiap tahap sistem yang berjalan. Langkah pertama dalam program utama adalah kami meminta nomor operasi yang diterapkan dari user. Sebelum bertanya, variabel diatur untuk menerima nilai yang dimasukkan oleh user.
Ketika user memasukkan nomor, itu mengalami banyak proses, seperti loop sementara digunakan. Loop ini memastikan ketersediaan angka setiap kali program dijalankan. Ketika nomor dimasukkan, sistem menampilkan 3 opsi kepada user, apakah user ingin mengatur bitmask atau ingin menghapus bitmask, dan yang ketiga adalah beralih nilainya. Dan pada akhirnya, user diminta untuk memilih salah satu dari mereka. Untuk menavigasi melalui semua operasi ini, kita perlu memiliki logika yang hanya akan memilih satu opsi yang dimasukkan user. Sementara semua operasi tetap menganggur pada saat itu.
Jadi kami menggunakan pernyataan switch di sini. Ketika user memasukkan pilihannya, ini disimpan dalam variabel, dan kemudian pada variabel itu, kami melakukan pernyataan sakelar. Setiap baris pernyataan switch berisi panggilan fungsi dari setiap opsi. Opsi apa pun yang dipilih user, sistem akan menjalankan program tertentu untuk
opsi tersebut. Kami menggunakan pernyataan break dengan setiap opsi dari pernyataan switch. Karena ketika satu opsi selesai, Anda perlu menghentikan program dari eksekusi lebih lanjut secara otomatis hingga diminta untuk menjalankan program.
Sekarang pertimbangkan opsi pertama; fungsi pertama adalah tentang pengaturan topeng. Ini berisi variabel untuk menyimpan nomor yang dimasukkan oleh user. Angka ini akan menjalani sepotong operasi aritmatika untuk memberikan nilai yang sebelum dan kemudian setelah nilai bit.
X|x <<I ;
Ketika operasi ini dijalankan sepenuhnya, nilai setelah melalui operasi diproses lagi, dan kemudian nilai ditampilkan.
Opsi selanjutnya adalah menghapus topeng yang sudah dibuat atau topeng baru. Ini juga akan menghapus nilai bit pertama dan selanjutnya.
X&=~(x <<i);
Kami telah menjelaskan setiap fungsi secara terpisah untuk memperjelas konsep bagi user. Ini juga akan memberikan nilai bitmask sebelumnya dan selanjutnya.
X^=x <<I;
Setelah menulis kode, simpan dalam file kemudian simpan file dengan ekstensi ‘.c’. Untuk mengeksekusi kode, kita membutuhkan compiler ‘g++’ yang akan mengkompilasi kode. ‘sedikit. c’ adalah nama file.
$ g++ -o bit bit.c
$./bit
Ketika kita mengeksekusi kode, kontrol ada di program utama ketika Anda memilih opsi fungsi, kemudian menurut fungsi, panggilan fungsi tertentu dibuat, dan kontrol diteruskan ke fungsi tertentu. Misalnya sesuai gambar, kita masukkan dulu angkanya lalu pilih opsinya.
Kami akan memilih ketiga opsi secara garis. Pertama, kami telah memilih opsi pertama untuk mengatur bitmask. Menurut fungsinya, bit sebelum dan sesudah bit saat ini ditampilkan secara acak ketika eksekusi untuk fungsi tersebut selesai.
Sekali lagi opsi ditampilkan. Sekarang kita ingin menghapus posisi ‘3’. Di sini sekali lagi, sebelum dan sesudah dibersihkan, nilainya ditampilkan.
Sekarang lagi, ketika kita melihat daftar opsi, pilih opsi terakhir, opsi sakelar. Masukkan bit yang ingin Anda alihkan. Toggle sebelumnya dan kemudian nilai toggle setelahnya akan ditampilkan.
Proses ini akan dilanjutkan sampai Anda terus memasukkan nilai opsi. Jika Anda ingin keluar dari sistem, tekan ‘Ctrl + c’.
Kesimpulan
Proses bit masking menguntungkan untuk proses iterasi. Kami telah menggunakan contoh singkat untuk menjelaskan proses pengaturan, unset mask, dan toggle bit. Kami juga dapat mengubah contoh yang disebutkan di atas sesuai dengan kebutuhan program kami. Kami berharap artikel ini akan membantu Anda dalam memahami proses masking bit.