Operator Bitwise
AND, OR, XOR, NOT.
Operator Bitwise adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 4 pelajaran total.
Bekerja pada Tingkat Bit
Bilangan bulat disimpan sebagai urutan bit. C memungkinkan Anda mengoperasikan bit-bit tersebut secara langsung dengan operator berbasis bit.
Keempat operator inti tersebut adalah AND &, OR |, XOR ^, dan NOT ~.
#include <stdio.h>
int main(void) {
unsigned a = 12;
unsigned b = 10;
printf("a & b = %u\n", a & b);
return 0;
}AND Berbasis Bit
Operator & menetapkan bit hasil menjadi 1 hanya jika kedua bit masukan bernilai 1.
Untuk 12 (1100) dan 10 (1010), hasilnya adalah 8 (1000).
#include <stdio.h>
int main(void) {
unsigned a = 12, b = 10;
printf("%u & %u = %u\n", a, b, a & b);
return 0;
}OR Berbasis Bit
Operator | menetapkan bit hasil menjadi 1 jika setidaknya satu bit masukan bernilai 1.
12 (1100) OR 10 (1010) menghasilkan 14 (1110).
#include <stdio.h>
int main(void) {
unsigned a = 12, b = 10;
printf("%u | %u = %u\n", a, b, a | b);
return 0;
}XOR Berbasis Bit
Operator ^ (OR eksklusif) menetapkan bit hasil menjadi 1 jika bit-bit masukan berbeda.
12 (1100) XOR 10 (1010) menghasilkan 6 (0110).
#include <stdio.h>
int main(void) {
unsigned a = 12, b = 10;
printf("%u ^ %u = %u\n", a, b, a ^ b);
return 0;
}NOT Berbasis Bit
Operator ~ membalik setiap bit. Pada nilai tak bertanda, ~0 menghasilkan semua bit bernilai 1, yaitu nilai maksimum.
#include <stdio.h>
int main(void) {
unsigned char x = 0;
printf("~0 as 8-bit = %u\n", (unsigned char)~x);
return 0;
}Mencetak Bit
Fungsi pembantu yang mencetak bentuk biner suatu byte membuat hasil operasi berbasis bit lebih mudah dipahami. Kita menguji setiap bit dari yang paling tinggi ke yang paling rendah.
#include <stdio.h>
void print_bits(unsigned char v) {
for (int i = 7; i >= 0; i--) {
putchar((v >> i) & 1 ? '1' : '0');
}
putchar('\n');
}
int main(void) {
print_bits(12);
print_bits(10);
return 0;
}Pertukaran dengan XOR
XOR memiliki sifat yang menarik: Anda dapat menukar dua bilangan bulat tanpa variabel sementara.
Terapkan XOR sebanyak tiga kali untuk menukar nilainya.
#include <stdio.h>
int main(void) {
int a = 5, b = 9;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d b=%d\n", a, b);
return 0;
}XOR dengan Dirinya Sendiri
Nilai apa pun yang di-XOR-kan dengan dirinya sendiri menghasilkan 0, dan nilai apa pun yang di-XOR-kan dengan 0 tidak berubah.
Identitas ini menjadi dasar pertukaran XOR dan berbagai trik lainnya.
#include <stdio.h>
int main(void) {
int x = 42;
printf("x ^ x = %d\n", x ^ x);
printf("x ^ 0 = %d\n", x ^ 0);
return 0;
}Operator Berbasis Bit vs Logika
Jangan keliru membedakan & dengan &&, atau | dengan ||.
- Operator berbasis bit bekerja pada setiap bit operan.
- Operator logika mengevaluasi kebenaran dan mengembalikan 0 atau 1.
#include <stdio.h>
int main(void) {
printf("2 & 1 = %d\n", 2 & 1);
printf("2 && 1 = %d\n", 2 && 1);
return 0;
}Menggabungkan Operator
Operator berbasis bit dapat digabungkan untuk menyatakan kondisi yang kompleks. Di sini, kita mempertahankan bit yang ada dalam a tetapi tidak dalam b.
#include <stdio.h>
int main(void) {
unsigned a = 0b1111;
unsigned b = 0b0101;
unsigned only_a = a & ~b;
printf("only_a = %u\n", only_a);
return 0;
}Memeriksa Paritas dengan XOR
Meng-XOR-kan semua bit memberi tahu Anda paritasnya, yaitu apakah jumlah bit yang bernilai 1 adalah ganjil. Gabungkan nilai tersebut secara berulang.
#include <stdio.h>
int main(void) {
unsigned v = 0b1011;
int parity = 0;
while (v) {
parity ^= (v & 1);
v >>= 1;
}
printf("parity = %d\n", parity);
return 0;
}Pemeriksaan Singkat
Uji pengetahuan Anda tentang operator berbasis bit.
Ringkasan
Anda telah mempelajari operator berbasis bit:
&AND mempertahankan bit yang bernilai 1 pada kedua operan.|OR mempertahankan bit yang bernilai 1 pada salah satu operan.^XOR mempertahankan bit yang berbeda.~NOT membalik semua bit.- Operator berbasis bit berbeda dari operator logika
&&dan||.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Operator Bitwise” gratis?
Ya — teks lengkap “Operator Bitwise” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Operator Bitwise”?
AND, OR, XOR, NOT. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C Academy?
Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Operator Bitwise” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?
Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Operator Bitwise
- Pergeseran
- Masker Bit dan Flag
- Trik Bit Praktis