Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Menguasai Operator Bitwise dan Bit Shift C#: Panduan Komprehensif

Operator Bitwise dan Bit Shift C#

Dalam tutorial ini, kita akan mempelajari secara detail operator bitwise dan bit shift di C#. C# menyediakan 4 operator bitwise dan 2 operator bit shift.

Operator bitwise dan bit shift digunakan untuk melakukan operasi pada level bit data integer (int, long, dll.) dan boolean. Operator ini tidak sering digunakan dalam situasi kehidupan nyata.

Jika Anda tertarik untuk mengeksplorasi lebih lanjut, kunjungi aplikasi praktis operasi bitwise.

Operator bitwise dan bit shift yang tersedia di C# tercantum di bawah ini.

Daftar Operator Bitwise C#
Operator Nama Operator
~ Bitwise Complement
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive OR (XOR)
<< Bitwise Left Shift
>> Bitwise Right Shift

Bitwise OR

Operator Bitwise OR direpresentasikan oleh |. Ini melakukan operasi Bitwise OR pada bit yang sesuai dari dua operan. Jika salah satu bit adalah 1, hasilnya adalah 1. Sebaliknya hasilnya adalah 0.

Jika operan bertipe bool, operasi Bitwise OR setara dengan operasi Logical OR di antara keduanya.

Contoh:

 14 = 00001110 (Dalam Biner) 11 = 00001011 (Dalam Biner)

Operasi Bitwise OR antara 14 dan 11:

 00001110 00001011 -------- 00001111 = 15 (Dalam Desimal)

Contoh 1: Bitwise OR

 using System; namespace Operator { class BitWiseOR { public static void Main(string[] args) { int firstNumber = 14, secondNumber = 11, result; result = firstNumber | secondNumber; Console.WriteLine("{0} | {1} = {2}", firstNumber, secondNumber, result); } } } 

Ketika kita menjalankan program, keluaran akan:

 14 | 11 = 15

Bitwise AND

Operator Bitwise AND direpresentasikan oleh &. Ini melakukan operasi Bitwise AND pada bit yang sesuai dari dua operan. Jika salah satu bit adalah 0, hasilnya adalah 0. Sebaliknya hasilnya adalah 1.

Jika operan bertipe bool, operasi Bitwise AND setara dengan operasi Logical AND di antara keduanya.

Contoh:

 14 = 00001110 (Dalam Biner) 11 = 00001011 (Dalam Biner)

Operasi Bitwise AND antara 14 dan 11:

 00001110 00001011 -------- 00001010 = 10 (Dalam Desimal)

Contoh 2: Bitwise AND

 using System; namespace Operator { class BitWiseAND { public static void Main(string[] args) { int firstNumber = 14, secondNumber = 11, result; result = firstNumber & secondNumber; Console.WriteLine("{0} & {1} = {2}", firstNumber, secondNumber, result); } } } 

Ketika kita menjalankan program, keluaran akan:

 14 & 11 = 10

Bitwise XOR

Operator Bitwise XOR direpresentasikan oleh ^. Ini melakukan operasi Bitwise XOR pada bit yang sesuai dari dua operan. Jika bit yang sesuai sama, hasilnya adalah 0. Jika bit yang sesuai berbeda, hasilnya adalah 1.

Jika operan bertipe bool, operasi Bitwise XOR setara dengan operasi Logical XOR di antara keduanya.

Contoh:

 14 = 00001110 (Dalam Biner) 11 = 00001011 (Dalam Biner)

Operasi Bitwise XOR antara 14 dan 11:

 00001110 00001011 -------- 00000101 = 5 (Dalam Desimal)

Jika Anda ingin mengetahui lebih banyak tentang penggunaan Bitwise XOR, kunjungi The Magic of XOR

Contoh 3: Bitwise XOR

 using System; namespace Operator { class BitWiseXOR { public static void Main(string[] args) { int firstNumber = 14, secondNumber = 11, result; result = firstNumber^secondNumber; Console.WriteLine("{0} ^ {1} = {2}", firstNumber, secondNumber, result); } } } 

Ketika kita menjalankan program, keluaran akan:

 14 ^ 11 = 5

Bitwise Complement

Operator Bitwise Complement direpresentasikan oleh ~. Ini adalah operator unary, yaitu beroperasi pada hanya satu operan. Operator ~ membalikkan setiap bit yaitu mengubah 1 menjadi 0 dan 0 menjadi 1.

Contoh:

 26 = 00011010 (Dalam Biner)

Operasi Bitwise Complement pada 26:

 ~ 00011010 = 11100101 = 229 (Dalam Desimal)

Contoh 4: Bitwise Complement

 using System; namespace Operator { class BitWiseComplement { public static void Main(string[] args) { int number = 26, result; result = ~number; Console.WriteLine("~{0} = {1}", number, result); } } } 

Ketika kita menjalankan program, keluaran akan:

 ~26 = -27

Kami mendapatkan -27 sebagai output saat kami mengharapkan 229. Mengapa ini terjadi?

Ini terjadi karena nilai biner 11100101 yang kami harapkan menjadi 229 sebenarnya adalah representasi 2's complement dari -27. Angka negatif di komputer direpresentasikan dalam representasi 2's complement.

Untuk bilangan bulat n, 2's complement dari n akan menjadi -(n+1).

2's complement
Desimal Biner 2's Complement
0 00000000 -(11111111 + 1) = -00000000 = -0 (Dalam Desimal)
1 00000001 -(11111110 + 1) = -11111111 = -256 (Dalam Desimal)
229 11100101 -(00011010 + 1) = -00011011 = -27

Nilai overflow diabaikan dalam 2's complement.

Bitwise complement dari 26 adalah 229 (dalam desimal) dan 2's complement dari 229 adalah -27. Oleh karena itu output adalah -27 alih-alih 229.


Bitwise Left Shift

Operator Bitwise left shift direpresentasikan oleh <<. Operator << menggeser sebuah angka ke kiri sejumlah bit yang ditentukan. Nol ditambahkan ke bit least significant.

Dalam desimal, setara dengan

 num * 2bits

Contoh:

 42 = 101010 (Dalam Biner)

Operasi Bitwise Lift Shift pada 42:

 42 << 1 = 84 (Dalam biner 1010100) 42 << 2 = 168 (Dalam biner 10101000) 42 << 4 = 672 (Dalam biner 1010100000)

Contoh 5: Bitwise Left Shift

 using System; namespace Operator { class LeftShift { public static void Main(string[] args) { int number = 42; Console.WriteLine("{0}<<1 = {1}", number, number<<1); Console.WriteLine("{0}<<2 = {1}", number, number<<2); Console.WriteLine("{0}<<4 = {1}", number, number<<4); } } } 

Ketika kita menjalankan program, keluaran akan:

 42<<1 = 84 42<<2 = 168 42<<4 = 672

Bitwise Right Shift

Operator Bitwise left shift direpresentasikan oleh >>. Operator >> menggeser sebuah angka ke kanan sejumlah bit yang ditentukan. Operan pertama digeser ke kanan dengan jumlah bit yang ditentukan oleh operan kedua.

Dalam desimal, setara dengan

 floor(num / 2bits)

Contoh:

 42 = 101010 (Dalam Biner)

Operasi Bitwise Lift Shift pada 42:

 42 >> 1 = 21 (Dalam biner 010101) 42 >> 2 = 10 (Dalam biner 001010) 42 >> 4 = 2 (Dalam biner 000010)

Contoh 6: Bitwise Right Shift

 using System; namespace Operator { class LeftShift { public static void Main(string[] args) { int number = 42; Console.WriteLine("{0}>>1 = {1}", number, number>>1); Console.WriteLine("{0}>>2 = {1}", number, number>>2); Console.WriteLine("{0}>>4 = {1}", number, number>>4); } } } 

Ketika kita menjalankan program, keluaran akan:

 42>>1 = 21 42>>2 = 10 42>>4 = 2

Bahasa C

  1. Memahami Kata Kunci dan Pengidentifikasi C#: Aturan, Daftar, dan Praktik Terbaik
  2. Operator C# – Panduan Lengkap tentang Operator dalam C#
  3. Menguasai Operator Bitwise dan Bit Shift C#: Panduan Komprehensif
  4. Menguasai Operator C++: Panduan Lengkap dengan Contoh Praktis
  5. Menguasai Operator Pemrograman C: Panduan Komprehensif
  6. Menguasai Operator Python: Panduan Komprehensif
  7. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  8. IoT & Blockchain: Pergeseran Paradigma dalam Kepercayaan dan Efisiensi Data
  9. Operator C++ Dijelaskan: Tipe, Contoh, dan Program Contoh
  10. Menguasai Operator Bitwise dalam C: AND, OR, XOR, Shift & Komplement