Skip to main content

Apa itu operator bitwise?

Dalam program komputer, operator Bitwise adalah operator untuk memanipulasi pola bit dalam ekspresi.Bitwise dan, atau, eksklusif atau (xor), bukan, shift kanan dan shift kiri adalah operasi umum.Sebagian besar bahasa pemrograman komputer mencakup keenam operator ini.Mereka sering digunakan untuk mengatur, membersihkan atau membalik bit individu dalam program yang mengontrol perangkat keras komputer.Operator Bitwise juga sering digunakan dalam enkripsi data dan algoritma kompresi.

Operator Bitwise umum biasanya diwakili secara simbolis dalam bahasa pemrograman seperti C, C ++ dan Java.Mereka digunakan dalam ekspresi seperti halnya operator aritmatika seperti tanda plus atau minus.Operator bitwise dan diwakili dengan ampersand , atau dengan pipa | dan xor dengan caret ^.Tidak, juga dikenal sebagai operator komplemen, ditunjukkan dengan tilde ~ .

Operator shift kanan menggunakan karet ganda yang menunjuk ke kanan .Sebaliknya, shift kiri ditunjukkan oleh karet ganda << .Java termasuk operasi shift kanan lainnya, ditunjukkan dengan triple-caret yang menunjuk kanan

.

Operator bitwise menerapkan operasi logis untuk setiap pasangan bit dalam operan mereka.Tidak, shift kanan dan shift kiri hanya memiliki satu operan sejati;Nilai kedua dalam operasi shift adalah jumlah bit.Untuk lebih memahami cara kerja operator Bitwise, seorang individu dapat memvisualisasikan operan mereka sebagai angka biner.Misalnya, operator komplemen membalik setiap bit operan tunggal ke keadaan yang berlawanan.Satu menjadi nol dan nol menjadi satu.Komplemen nilai biner 8-bit 00110101 adalah 11001010.

dan operator memiliki dua operan.Bit demi bit, logis dan operasi dilakukan dengan menggunakan satu bit yang sesuai dari setiap operan.Hasil dari setiap operasi bit ditempatkan dalam posisi bit dari hasil keseluruhan.Misalnya, dan operator akan memproses bit 7 dari satu operan dengan bit 7 dari operan lainnya.Hasilnya akan disimpan dalam bit 7 dari hasil keseluruhan.

Dalam operasi dan, kedua bit operan harus menjadi yang hasilnya menjadi satu, jika tidak hasilnya nol.Misalnya, jika nilai biner 8-bit dari operan adalah 00110101 dan 11110000, hasilnya adalah 00110000. Penggunaan umum dan operator adalah untuk memadamkan bit tertentu dalam hasilnya.Ini dilakukan dengan menempatkan nol di posisi bit di salah satu operan.

dalam operasi atau, kedua bit operan harus nol agar hasilnya menjadi nol;Kalau tidak, hasilnya adalah satu.Penggunaan yang umum dari atau operator adalah untuk mengatur bit tertentu dari hasilnya.Ini dilakukan dengan menempatkan yang dalam posisi bit di salah satu operan.Untuk operasi XOR, hasilnya adalah nol jika kedua bit operan nol atau jika kedua bit operan itu satu mdash; jika tidak, hasilnya adalah satu.

shift kiri dan shift kanan Pindahkan bit di operan kiri atau kanan dengan nomor yang ditentukandari posisi bit.Pergeseran kanan logis memindahkan nol ke bit paling kiri sebagai bagian dari shift.Pergeseran kanan aritmatika menyalin bit paling kiri mdash; tanda bit mdash; sebelum pergeseran ke posisi yang sama setelah shift.Bit asli juga bergeser tepat bersama dengan yang lain.Salah satu jenis shift kiri memindahkan nol ke bit paling kanan.

Ketika operan bergeser kanan, bit paling kanan sebelum shift hanya dibuang.Demikian pula, bit paling kiri sebelum shift kiri dibuang.Itu tidak membungkus ke ujung operan. Operasi shift bitwise bergantung pada bahasa dan implementasi.Misalnya, dalam C dan C ++, << dan melakukan pergeseran logis jika operan adalah integer yang tidak ditandatangani.Jika operan adalah bilangan bulat yang ditandatangani, ada kemungkinan bahwa pergeseran aritmatika akan dilakukan sebagai gantinya.Di Java, semua operan dianggap ditandatangani, dan pergeseran aritmatika adalahSelalu dilakukan dengan dan <<.Operator digunakan untuk pergeseran kanan yang logis, tetapi masih mungkin untuk secara tidak sengaja melakukan pergeseran kanan aritmatika sebagai gantinya tanpa penipuan yang cermat.

Komplikasi juga dapat timbul ketika operan memiliki panjang bit yang berbeda atau ketika beberapa ditandatangani dan ditandatangani danBeberapa tidak ditandatangani.Operator Bitwise dan konstanta numerik di tengah ekspresi kompleks mungkin tidak dievaluasi sebagaimana diantisipasi.Perawatan harus diambil untuk menentukan ukuran dan sifat yang ditandatangani/tidak ditandatangani dari setiap kuantitas dalam ekspresi.Ini dapat dilakukan dengan penetapan tipikal atau interim yang cermat untuk jenis variabel tertentu dalam kode program.