Rumah > Artikel > pembangunan bahagian belakang > Operator Bitwise dalam C#
Operator Bitwise hanyalah operasi yang dilakukan pada tahap bit, dan C# membenarkan pelbagai operasi bitwise menggunakan operator AND, OR, NOT, dll. Operator yang biasanya digunakan untuk operasi bitwise ialah AND (&) yang mengembalikan benar apabila kedua-dua operan adalah benar, ATAU (|) yang mengembalikan benar hanya apabila operan adalah benar, Eksklusif ATAU (XOR atau ^) yang mengembalikan hasil yang setanding bergantung pada input, Shift Kiri (<<) yang digunakan untuk menggerakkan bit ke kiri, Shift Kanan (>>) yang digunakan untuk mengalihkan bit ke kanan, dan Complement (~) yang digunakan pada operan tunggal dan ia mengembalikan nilai bit pelengkap berdasarkan input.
Berikut ialah pelbagai jenis pengendali Bitwise yang ditakrifkan dalam C#:
Artikel berikut menerangkan cara pengendali bitwise berfungsi di bawah yang dinyatakan adalah contoh pengendali bitwise dalam C#:
Ia hanya memberikan True semasa menggunakan operasi AND jika kedua-dua nilai True. Operator ini boleh dilaksanakan dengan menggunakan operator ‘&’.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 byte myvarB = 20;// This binary is equivalent for 20 is 10100 long myresult = myvarA & myvarB; // The result of AND operation result is: 00000 Console.WriteLine("{0} AND {1} result is :{2}",myvarA,myvarB,myresult); myvarA = 10;// This binary is equivalent for 10 is 01010 myvarB = 10;// This binary is equivalent for 10 is 01010 myresult = myvarA & myvarB; // The result of AND operation result is: 01010 Console.WriteLine("{0} AND {1} result is : {2}",myvarA,myvarB,myresult); } }
Output:
Buka editor teks dan simpan fail dengan sambungan .cs dengan nama pilihan anda. Jalankan program dengan menggunakan pengkompil c# yang sesuai dan anda akan mendapat output di bawah:
Ia hanya menyediakan FALSE semasa menggunakan kaedah OR jika kedua-dua nilai adalah FALSE. OR operasi adalah benar dalam semua kes lain. Operator ini boleh dilaksanakan dengan menggunakan operator ‘|’.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 byte myvarB = 20;// This binary is equivalent for 20 is 10100 long myresult = myvarA | myvarB; // The result of OR operation result is: 11110 Console.WriteLine("{0} OR {1} result is :{2}",myvarA,myvarB,myresult); myvarA = 10;// This binary is equivalent for 10 is 01010 myvarB = 10;// This binary is equivalent for 10 is 01010 myresult = myvarA | myvarB; // The result of OR operation result is: 01010 Console.WriteLine("{0} OR {1} result is : {2}",myvarA,myvarB,myresult); } }
Output:
Kompil dan laksanakan kod di atas, anda akan mendapat output berikut:
Jika bit yang berkaitan adalah unik, maka ini memberikan 1, jika tidak 0. Operator ini boleh dilaksanakan dengan menggunakan operator ‘^’.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { int num1 = 14, num2 = 11, myresult; myresult = num1^num2; Console.WriteLine("{0} ^ {1} = {2}", num1, num2, myresult); } }
Output:
Kompil dan laksanakan kod di atas, anda akan mendapat output berikut:
Jika operasi RightShift dilakukan dengan nilai binari, bit akan dialihkan ke satu lokasi di sebelah kanan. Operator ini boleh dilaksanakan dengan menggunakan operator ‘>>’.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 long myresult = myvarA >> 1; // The right shift operation result is : 0101 Console.WriteLine("{0} is right shifted to 1 position result is:{1}",myvarA,myresult); } }
Output:
Kompil dan laksanakan kod di atas, anda akan mendapat output berikut:
Jika operasi LeftShift dilakukan dengan nilai binari, bit akan dialihkan ke satu lokasi di sebelah kiri. Operator ini boleh dilaksanakan dengan menggunakan operator ‘<<’.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 long myresult = myvarA << 1; // The left shift operation result is : 10100 Console.WriteLine("{0} is left shifted to 1 position result is:{1}",myvarA,myresult); } }
Output:
Kompil dan laksanakan kod di atas, anda akan mendapat output berikut:
Pengendali pelengkap bitwise ditentukan oleh '~' yang merupakan operator unari yang beroperasi pada satu operan sahaja. Operator ~ menyongsangkan sedikit, iaitu menukar daripada 1 kepada 0 dan daripada 0 kepada 1.
Contoh:
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { int num = 22, num_result; num_result = ~num; Console.WriteLine("~{0} = {1}", num, num_result); } }
Output:
Kompil dan laksanakan kod di atas, anda akan mendapat output berikut:
Dalam artikel ini, kita telah melihat bagaimana pengendali bitwise boleh digunakan dalam C# bersama-sama dengan fungsinya. Operator ini digunakan untuk melaksanakan operasi bit demi bit pada operan, juga dipanggil nombor binari. Operator bitwise menganalisis tafsiran binari bagi fungsi dua input pada pangkalan sel demi sel. Pengendali ini digunakan terutamanya dalam susunan komunikasi di mana maklumat penting dilambangkan oleh bit individu dalam pengepala yang disambungkan kepada data.
Atas ialah kandungan terperinci Operator Bitwise dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!