C# Bitwise Shift Kiri (<<) Operator

C Bitwise Shift Kiri Operator



Dalam pengaturcaraan C#, kita boleh menggunakan operator Bitwise untuk melaksanakan operasi peringkat bit. Pengiraan tahap bit dilakukan dalam CPU apabila kita melakukan operasi aritmetik seperti penambahan, penolakan, pendaraban atau pembahagian. Kami juga boleh melakukan operasi Bitwise dalam pengaturcaraan C# dan prosesnya mudah. Pengendali Bitwise melakukan operasi pada nilai yang diberikan. Bilangan bit untuk beralih juga ditentukan. Terdapat enam operator Bitwise dalam bahasa C#, dua daripadanya ialah operator shift.

Topik perbincangan kami adalah mengenai operator syif. Operator anjakan kiri Bitwise (<<) akan diterangkan secara terperinci. Operator anjakan, seperti namanya, mengalihkan bit dari kedudukan yang ditentukan ke kiri atau ke kanan. Nilai dialihkan ke kiri dengan bilangan bit yang ditentukan semasa menggunakan operator anjakan kiri bitwise (<<). Operator anjakan kiri mengambil input hanya dalam int (integer), uint (integer tidak bertanda), panjang (integer panjang), dan ulong (integer panjang tidak bertanda). Apabila operan kiri tergolong dalam jenis yang berbeza, ia ditukar kepada jenis integer. Jenis data nilai terhasil mengekalkan had 32 bit; output tidak boleh lebih besar daripada itu. Pengendali bitwise menjadikan kod itu cekap dan lebih pantas. Selain itu, ia menawarkan lebih ketepatan dan ketepatan.

Sintaks:

Operand_1 << Operand_2







'Operand_1' pertama ialah nilai yang dianjakkan dari kiri ke bilangan anjakan yang terkandung dalam 'Operand_2'. Simbol << ke kiri mengalihkan “Operand_1”.



Contoh 1:

Operator anjakan kiri Bitwise (<<) digunakan pada nilai integer dalam program ini.



menggunakan Sistem;

Program kelas_1
{
lompang statik Utama ( ) {
int Nilai_0 = 3. 4 ;
int Nilai_1 = 65 ;
int semula = Nilai_0 << Nilai_1;
Konsol.Tulis ( 'Anjakan kiri ialah  ' ) ;
Konsol.Tulis ( semula ) ;
}
}

Pernyataan pertama mengandungi pengisytiharan dan permulaan dua pembolehubah jenis integer. Pembolehubah pertama ialah 'Nilai_0' dan pembolehubah kedua ialah 'Nilai_1'. Nilai yang disimpan di dalamnya ialah '34' dan '65'. Kami meninggalkan anjakan nilai 34 menggunakan operator anjakan kiri (<<). Kemudian, kami mengisytiharkan pembolehubah lain yang mempunyai jenis data integer untuk menyimpan hasilnya. Di sini, kami menggunakan operator shift kiri (<<) sebagai Value_0 << Value_1. Operator kiri ini mengalihkan nilai kiri operan kiri dengan nilai yang diberikan dalam operan kedua. 'res' menyimpan output operator syif. Selepas ini, kami memanggil kaedah Console.Write() untuk mencetak teks 'Anjakan kiri ialah' dan nilai terhasil yang disimpan dalam 'res' pada terminal.





Contoh 2:

Mari gunakan operator anjakan kiri pada nilai integer yang tidak ditandatangani dan lihat cara ia menghasilkan output.



menggunakan Sistem;

Program kelas_2
{
lompang statik Utama ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint hasil = Val_0 << Val_1;
Konsol.Tulis ( 'Anjakan kiri ialah' ) ;
Konsol.Tulis ( hasil ) ;
}
}

Di sini, kami menggunakan operator anjakan kiri pada nilai jenis integer yang tidak ditandatangani. Satu perkara yang anda mesti jaga ialah operan kedua mestilah nilai jenis integer kerana pengkompil hanya mengambil nilai integer untuk beralih.

Selepas memanggil fungsi Main() kekosongan statik, kami mengisytiharkan dua pembolehubah - satu daripadanya ialah nilai integer tidak bertanda 'Val_0' dan satu lagi ialah nilai integer 'Val_1'. Kemudian, kami mentakrifkan satu lagi pembolehubah integer yang tidak ditandatangani iaitu 'hasil' untuk mengekalkan nilai yang terhasil selepas mengalihkan integer yang tidak ditandatangani. Kami tidak boleh menyimpan hasil dalam pembolehubah jenis integer kerana selepas peralihan kiri, hasilnya ialah nilai yang tidak ditandatangani. Pernyataan “Val_0 << Val_1” ke kiri mengalihkan operan kiri yang merupakan nilai integer yang tidak ditandatangani. Ia menghasilkan nilai integer yang tidak ditandatangani. Pada akhirnya, tunjukkan hasil pada skrin output dengan teks 'Anjakan kiri ialah' menggunakan kaedah Console.Write():

Contoh 3:

Dalam contoh ini, kita akan bercakap tentang kaedah berbeza menggunakan operator anjakan kiri Bitwise (<<) pada nilai integer panjang.

menggunakan Sistem;

Program kelas_3
{
lompang statik Utama ( ) {
nombor panjang_0 = Empat lima ;
nombor panjang_1 = 5 ;

Konsol.Tulis ( 'Peralihan kiri panjang ialah' ) ;
Console.WriteLine ( nombor_0 << 3 ) ;
Konsol.Tulis ( 'Peralihan kiri panjang ialah' ) ;
Konsol.Tulis ( nombor_0 << Convert.ToInt16 ( nombor 1 ) ) ;
}
}

Permulaan dua pembolehubah jenis integer panjang, 'number_0' dan 'number_1', dilakukan dalam pernyataan pertama. Guna fungsi Console.Write() untuk mewakili mesej 'Anjakan kiri panjang ialah' dan hasilnya pada terminal. Di sini, kami menggunakan operator anjakan kiri (<<) sedemikian rupa sehingga kami meletakkan operan pertama sebagai pembolehubah pertama dan operan kedua sebagai nilai integer. Pengkompil ke kiri mengalihkan operan pertama iaitu 'number_0' sebanyak 3 dan memaparkan hasilnya. Dalam pernyataan seterusnya, cetak mesej lain pada skrin dengan menggunakan kaedah Console.Write(). Di sini, kami menggunakan pembolehubah pertama, 'number_0', sebagai operan pertama dan pembolehubah kedua, 'number_1', sebagai operan kedua. Operan kedua mestilah nilai jenis integer. Kami menaip pembolehubah kedua 'number_1' kepada jenis integer menggunakan fungsi Convert.ToInt16(). Kemudian, paparkan hasilnya pada konsol:

Contoh 4:

Kod ini menunjukkan cara kita boleh menetapkan nilai kepada integer selepas melakukan anjakan kiri pada operator panjang yang tidak ditandatangani.

menggunakan Sistem;

Program kelas_4
{
lompang statik Utama ( ) {
nombor kepala_0 = 445 ;

Konsol.Tulis ( 'Anjakan kiri ulong ialah' ) ;
Console.WriteLine ( nombor_0 << 8 ) ;
Konsol.Tulis ( 'Anjakan kiri ulong ialah' ) ;
Console.WriteLine ( nombor_0 << 16 ) ;
Konsol.Tulis ( 'Anjakan kiri ulong ialah' ) ;
Console.WriteLine ( nombor_0 << 32 ) ;

}
}

Mula-mula, isytiharkan satu pembolehubah jenis integer panjang yang tidak ditandatangani iaitu 'number_0'. Seterusnya, tunjukkan teks 'Anjakan kiri ulong ialah' pada terminal dengan memanggil kaedah Console.Write(). Kami akan mencari anjakan kiri 'number_0' dengan nilai integer 8 dan kami tidak perlu menyimpan hasilnya di mana-mana sahaja. Fungsi Console.WriteLine() mencetak hasil pada konsol. Ulangi proses ini dua kali dan tukar nilai operan kedua. Dengan melakukan ini, kita boleh mencari anjakan kiri bagi nilai jenis integer yang tidak bertanda panjang. Tetapi jika kita ingin menyimpan nilai yang terhasil dalam pembolehubah, kita harus menyimpan dalam pemikiran bahawa hasilnya adalah jenis yang sama dengan operan pertama. Satu-satunya perbezaan antara Console.Write() dan Console.WriteLine() ialah fungsi kedua mencetak hasil dan menghantar kursor ke baris seterusnya manakala fungsi pertama hanya mencetak hasil dan kursor berkelip pada baris yang sama walaupun selepas memaparkan output.

Kesimpulan

Kami meneroka operator Bitwise dalam C#, jenis dan fungsinya. Operator anjakan kiri (<<) digunakan untuk mengalihkan nombor atau nilai dengan bilangan bit yang pasti ke kiri. Pengendali Bitwise meningkatkan kecekapan kod dan ia tidak membebankan sistem kerana ia adalah pengendali ringan. CPU (unit pemprosesan komputer) kami berfungsi pada tahap Bitwise setiap kali kami melakukan sebarang operasi aritmetik. Secara ringkasnya, pengendali Bitwise adalah penting dalam pengaturcaraan dan C# menyokong semua pengendali Bitwise di mana operator anjakan kiri (<<) adalah salah satu daripadanya.