Dalam salah satu artikel kami sebelumnya, kami membahas dasar-dasar operator bitwise. Saya harap Anda membaca artikel itu dan sekarang siap untuk menyaksikan dan memahami beberapa contoh penggunaan praktis dari operator ini. Jadi tanpa basa-basi lagi, mari kita mulai.
1. Tukar nilai dua variabel
Saya yakin Anda akan mengetahui logika untuk menukar nilai dari dua variabel. Ini melibatkan pengambilan variabel ketiga untuk menyimpan satu nilai sementara dan kemudian menetapkan nilai itu ke salah satu variabel (yang nilai aslinya telah ditetapkan ke variabel lain).
Misalnya, jika 'a' dan 'b' adalah variabel yang nilainya perlu ditukar, dan 'c' adalah variabel sementara, maka berikut logika standarnya:
c =a;
a =b;
b =c;
Tapi tahukah Anda bahwa seluruh proses swapping ini dapat dilakukan melalui operator bitwise? Ya, itu benar, dan logikanya, dalam hal ini, bahkan tidak memerlukan variabel ketiga. Ini kodenya:
#include
int main()
{
int a, b;
printf("Masukkan bilangan pertama :");
scanf("%d", &a);
printf("Masukkan bilangan kedua:");
scanf("%d", &b);
printf("Sesuai masukan Anda, a =%d, dan b =%d", a,b);
a =a ^ b;
b =a ^ b;
a =a ^ b;
printf("\nSetelah bertukar, a =%d, dan b =%d", a,b);
return 0;
}
Berikut outputnya:
Masukkan angka pertama:7
Masukkan angka kedua:2
Sesuai input Anda, a =7, dan b =2
Setelah bertukar, a =2, dan b =72. Periksa jumlah biner '1 dalam angka
Terkadang Anda mungkin menemukan diri Anda dalam situasi di mana Anda perlu menghitung jumlah bit yang disetel ke '1' dalam sebuah angka. Anda akan senang mengetahui bahwa Anda dapat melakukannya dengan mudah menggunakan operator bitwise. Begini logikanya:
#include
int main()
{
int a, num_of_bits =0;
printf("Enter angka:");
scanf("%d", &a);
while(a)
{
if(a &1)
num_of_bits++;
a =a>> 1;
}
printf("\nJumlah biner 1 pada bilangan ini adalah %d", num_of_bits);
return 0;
}Berikut outputnya:
Masukkan angka:5
Jumlah biner 1 dalam angka ini adalah 23. Program C untuk memeriksa apakah posisi bit yang diberikan adalah 1 atau tidak
Terkadang, terutama saat mengerjakan kode yang terkait dengan jaringan komputer (protokol dll), Anda harus memeriksa apakah posisi bit tertentu disetel ke 1 atau tidak. Ini dapat dilakukan dengan mudah menggunakan operator bitwise.
Ini kodenya:
#include
int main()
{
int num, position, temp;
printf("Enter angka:");
scanf("%d", &num);
printf("Masukkan posisi bit (menjaga nol sebagai indeks dasar dan 31 sebagai maks):");
scanf("%d", &posisi);
if(((num>>posisi)&1) ==1)
printf("\nBit pada posisinya adalah 1");
else
printf("\nBit pada posisi 0");
return 0;
}Berikut outputnya:
Masukkan angka:2
Masukkan posisi bit (menjaga nol sebagai indeks dasar dan 31 sebagai maks):3
Bit pada posisi 04. Ubah bilangan desimal ke bentuk binernya
Operator bitwise juga dapat digunakan untuk mengonversi angka desimal ke bentuk binernya. Inilah satu logika untuk itu:
#include
int main()
{
int num, i =0, temp =0;
int bin[32 ] ={0}; // ini akan menginisialisasi semua elemen array ke 0
/* Masukkan angka dari pengguna */
printf("Masukkan angka apa saja:");
scanf("%d" , &bil);
for(i =31; i>=0; i--)
{
if((num &1) ==1)
{
bin[i] =1;
num =num>>1;
}
printf("Bentuk biner dari bilangan yang anda masukkan adalah:");
for(i=0; i<32; i++)
{
printf("%d",bin[i]);
}
return 0;
}Berikut adalah output dalam kasus saya:
Masukkan angka apa saja:15
Bentuk biner dari angka yang Anda masukkan adalah:00000000000000000000000000001111Kesimpulan
Empat contoh yang kami tunjukkan di sini seharusnya cukup untuk memberi Anda ide bagus tentang bagaimana operator bitwise dapat digunakan dalam skenario dunia nyata. Cobalah ini di mesin Anda, sesuaikan, dan buat mereka melakukan lebih banyak, atau sesuatu yang baru. Jika ada keraguan atau pertanyaan, berikan komentar di sini.
Bagaimana cara menambahkan Agen Wayang ke Foreman Tutorial Perintah Linux pwd untuk Pemula (dengan Contoh)Linux