C# Bitwise Left Shift (<<) Operatorius

C Bitwise Left Shift Operatorius



Programuodami C# galime naudoti Bitwise operatorius bitų lygio operacijoms atlikti. Bitų lygio skaičiavimas atliekamas CPU, kai atliekame aritmetines operacijas, tokias kaip sudėjimas, atėmimas, daugyba ar padalijimas. Mes taip pat galime atlikti Bitwise operacijas C# programavimu ir procesas yra paprastas. Bitwise operatoriai atlieka operaciją su nurodyta verte. Taip pat nurodomas keičiamų bitų skaičius. C# kalba yra šeši Bitwise operatoriai, du iš jų yra Shift operatoriai.

Mūsų diskusijų tema yra apie pamainos operatorius. Bitwise poslinkio operatorius (<<) bus išsamiai paaiškintas. Poslinkio operatorius, kaip rodo pavadinimas, perkelia bitą iš nurodytos padėties į kairę arba į dešinę. Reikšmė perkeliama į kairę nurodytu bitų skaičiumi naudojant bitų poslinkio į kairę operatorių (<<). Kairiojo poslinkio operatoriai įveda tik int (sveikasis skaičius), uint (nežymėtas sveikasis skaičius), long (ilgas sveikasis skaičius) ir ulong (beženklis ilgas sveikasis skaičius). Kai kairysis operandas priklauso kitam tipui, jis konvertuojamas į sveikojo skaičiaus tipą. Gautos reikšmės duomenų tipas išlaiko 32 bitų ribą; išvestis negali būti didesnė už tai. Bitiniai operatoriai daro kodą efektyvesnį ir greitesnį. Be to, jie siūlo didesnį tikslumą ir tikslumą.

Sintaksė:

Operandas_1 << Operandas_2







Pirmasis „Operand_1“ yra reikšmė, kuri perkeliama iš kairės į pamainų skaičių, kurį sudaro „Operand_2“. Simbolis << kairėn perkelia „Operand_1“.



1 pavyzdys:

Šios programos sveikųjų skaičių reikšmėms taikomas bitų poslinkio į kairę operatorius (<<).



naudojant sistemą;

klasė Programa_1
{
statinė tuštuma Pagrindinis ( ) {
int Reikšmė_0 = 3. 4 ;
int Reikšmė_1 = 65 ;
tarpt res = Vertė_0 << Reikšmė_1;
Konsole.Rašyk ( 'Kairysis poslinkis yra  ' ) ;
Konsole.Rašyk ( res ) ;
}
}

Pirmajame sakinyje yra dviejų sveikųjų skaičių tipo kintamųjų deklaravimas ir inicijavimas. Pirmasis kintamasis yra „Vertė_0“, o antrasis – „Vertė_1“. Juose saugomos reikšmės yra „34“ ir „65“. Naudodami kairiojo poslinkio operatorių (<<) perkėlėme reikšmę 34 į kairę. Tada deklaruojame kitą kintamąjį, kurio duomenų tipas yra sveikasis skaičius, kad išsaugotume rezultatą. Čia mes naudojame kairiojo poslinkio operatorių (<<) kaip Reikšmė_0 << Reikšmė_1. Šis operatorius į kairę perkelia kairiojo operando kairę reikšmę duota antrojo operando reikšme. „Res“ saugo pamainos operatoriaus išvestį. Po to mes iškviečiame Console.Write() metodą, kad išspausdintume tekstą 'The left shift is' ir gautą reikšmę, kuri saugoma 'res' terminale.





2 pavyzdys:

Naudokime kairiojo poslinkio operatorių neženklioms sveikųjų skaičių reikšmėms ir pažiūrėkime, kaip jos sukuria išvestį.



naudojant sistemą;

klasė Programa_2
{
statinė tuštuma Pagrindinis ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint rezultatas = Val_0 << Val_1;
Konsole.Rašyk ( 'Kairysis poslinkis yra' ) ;
Konsole.Rašyk ( rezultatas ) ;
}
}

Čia mes taikome kairiojo poslinkio operatorių nežymėto sveikojo skaičiaus tipo vertei. Vienas dalykas, kuriuo turite pasirūpinti, yra tai, kad antrasis operandas turi būti sveikojo skaičiaus tipo reikšmė, nes kompiliatorius perstumia tik sveikojo skaičiaus reikšmę.

Iškvietę statinę void Main() funkciją, deklaruojame du kintamuosius – vienas iš jų yra beženklio sveikojo skaičiaus reikšmė „Val_0“, o kitas – sveikojo skaičiaus reikšmė „Val_1“. Tada mes apibrėžiame kitą nežymėto sveikojo skaičiaus kintamąjį, kuris yra „rezultatas“, kad gauta reikšmė išliktų po to, kai perslinktas beženklis sveikasis skaičius. Negalime saugoti rezultato sveikojo skaičiaus tipo kintamajame, nes po perkėlimo į kairę rezultatas yra beženklė reikšmė. Teiginys „Val_0 << Val_1“ perkelia kairįjį operandą, kuris yra beženklio sveikojo skaičiaus reikšmė. Jis sukuria sveikojo skaičiaus be ženklo reikšmę. Pabaigoje, naudodami Console.Write() metodą, parodykite rezultatą išvesties ekrane su tekstu 'The left shift is':

3 pavyzdys:

Šiuo atveju mes kalbėsime apie skirtingus metodus, kaip naudoti bitinio poslinkio operatorių (<<) ilgoms sveikųjų skaičių reikšmėms.

naudojant sistemą;

klasė Programa_3
{
statinė tuštuma Pagrindinis ( ) {
ilgas skaičius_0 = Keturi. Penki ;
ilgas skaičius_1 = 5 ;

Konsole.Rašyk ( 'Ilgo poslinkis į kairę yra' ) ;
Console.WriteLine ( numeris_0 << 3 ) ;
Konsole.Rašyk ( 'Ilgo poslinkis į kairę yra' ) ;
Konsole.Rašyk ( numeris_0 << Convert.ToInt16 ( numeris 1 ) ) ;
}
}

Dviejų ilgųjų sveikųjų skaičių tipo kintamųjų „skaičius_0“ ir „skaičius_1“ inicijavimas atliekamas pirmajame sakinyje. Iškvieskite funkciją Console.Write(), kad būtų rodomas pranešimas „Ilgo poslinkis į kairę yra“ ir rezultatas terminale. Čia taikome kairiojo poslinkio operatorių (<<) taip, kad pirmasis operandas būtų pirmasis kintamasis, o antrasis operandas būtų sveikasis skaičius. Kompiliatorius perkelia pirmąjį operandą, kuris yra 'skaičius_0', į kairę 3 ir parodo rezultatą. Kitame sakinyje išspausdinkite kitą pranešimą ekrane naudodami Console.Write() metodą. Čia mes naudojame pirmąjį kintamąjį „skaičius_0“ kaip pirmąjį operandą, o antrąjį kintamąjį „skaičius_1“ – kaip antrąjį operandą. Antrasis operandas turi būti sveikojo skaičiaus tipo reikšmė. Antrąjį kintamąjį „skaičius_1“ įvedami į sveikojo skaičiaus tipą, naudodami funkciją Convert.ToInt16 (). Tada konsolėje parodykite rezultatą:

4 pavyzdys:

Šis kodas parodo, kaip galime priskirti reikšmes sveikajam skaičiui, atlikę poslinkį į kairę beženklio ilgojo operatorius.

naudojant sistemą;

klasė Programa_4
{
statinė tuštuma Pagrindinis ( ) {
galvos numeris_0 = 445 ;

Konsole.Rašykite ( 'Ulongo poslinkis į kairę yra' ) ;
Console.WriteLine ( numeris_0 << 8 ) ;
Konsole.Rašyk ( 'Ulongo poslinkis į kairę yra' ) ;
Console.WriteLine ( numeris_0 << 16 ) ;
Konsole.Rašyk ( 'Ulongo poslinkis į kairę yra' ) ;
Console.WriteLine ( numeris_0 << 32 ) ;

}
}

Pirmiausia deklaruokite vieną beženklį ilgo sveikojo skaičiaus kintamąjį, kuris yra 'skaičius_0'. Tada terminale parodykite tekstą „The left shift of ulong is“ iškviesdami Console.Write() metodą. „Skaičiaus_0“ poslinkį į kairę rasime sveikuoju skaičiumi 8 ir rezultato niekur saugoti nereikia. Funkcija Console.WriteLine() atspausdina rezultatą konsolėje. Pakartokite šį procesą du kartus ir pakeiskite antrojo operando reikšmes. Tai darydami galime rasti ilgo neženklio sveikojo skaičiaus tipo vertės poslinkį į kairę. Bet jei norime išsaugoti gautą reikšmę kintamajame, turėtume turėti omenyje, kad rezultatas yra tokio paties tipo kaip ir pirmasis operandas. Vienintelis skirtumas tarp Console.Write() ir Console.WriteLine() yra tas, kad antroji funkcija spausdina rezultatą ir siunčia žymeklį į kitą eilutę, o pirmoji funkcija spausdina tik rezultatą, o žymeklis mirksi toje pačioje eilutėje net po rodant išvestį.

Išvada

Ištyrėme „Bitwise“ operatorius C#, jų tipus ir funkcijas. Kairiojo poslinkio (<<) operatorius taikomas norint perkelti skaičių arba reikšmę tam tikru bitų skaičiumi į kairę. Bitwise operatoriai pagerina kodo efektyvumą ir neapkrauna sistemos, nes jie yra lengvi operatoriai. Mūsų CPU (kompiuterio apdorojimo blokas) veikia bitų lygiu, kai atliekame bet kokias aritmetines operacijas. Trumpai tariant, „Bitwise“ operatoriai yra svarbūs programuojant, o C# palaiko visus „Bitwise“ operatorius, kurių vienas iš jų yra kairiojo poslinkio operatorius (<<).