C# Bitenkénti Bal Shift (<<) Operátor

C Bitenkenti Bal Shift Operator



A C# programozásban a Bitwise operátorokat használhatjuk a bitszintű műveletek végrehajtására. A bitszintű számítás a CPU-ban történik, amikor olyan számtani műveleteket hajtunk végre, mint az összeadás, kivonás, szorzás vagy osztás. Bitwise műveleteket is végezhetünk C# programozásban, és a folyamat egyszerű. A bitenkénti operátorok műveletet hajtanak végre az adott értékkel. Meg van adva az eltolni kívánt bitek száma is. A C# nyelvben hat Bitwise operátor van, ezek közül kettő shift operátor.

Beszélgetésünk témája a műszakkezelőkről szól. A bitenkénti balra eltolás operátorát (<<) részletesen elmagyarázzuk. A shift operátor, ahogy a neve is sugallja, eltolja a bitet a megadott pozícióból balra vagy jobbra. A bitenkénti balra eltolás operátor (<<) használata közben az érték a megadott számú bittel balra kerül. A balra váltó operátorok csak int (egész szám), uint (előjel nélküli egész), long (hosszú egész szám) és ulong (előjel nélküli hosszú egész szám) értékben veszik fel a bemenetet. Ha a bal oldali operandus egy másik típushoz tartozik, a rendszer egész típusúra konvertálja. Az eredményül kapott érték adattípusa megtartja a 32 bites korlátot; a kimenet nem lehet ennél nagyobb. A bitenkénti operátorok hatékonyabbá és gyorsabbá teszik a kódot. Sőt, nagyobb pontosságot és pontosságot kínálnak.

Szintaxis:

Operandus_1 << Operandus_2







Az első „Operand_1” az az érték, amely balról az „Operandus_2” által tartalmazott műszakok számára tolódik el. A << szimbólum balra tolja az „Operandus_1” értéket.



1. példa:

A bitenkénti balra eltolás operátort (<<) a program az egész értékekre alkalmazza ebben a programban.



Rendszer használata;

osztály Program_1
{
statikus üres Fő ( ) {
int Érték_0 = 3. 4 ;
int Érték_1 = 65 ;
int res = Érték_0 << Érték_1;
Konzol.Írj ( 'A bal műszak  ' ) ;
Konzol.Írj ( res ) ;
}
}

Az első utasítás két egész típusú változó deklarációját és inicializálását tartalmazza. Az első változó az „Érték_0”, a második pedig az „Érték_1”. A bennük tárolt értékek „34” és „65”. A 34-es értéket balra toltuk a balra eltolás operátorral (<<). Ezután deklarálunk egy másik változót, amelynek egész adattípusa van az eredmény mentéséhez. Itt a balra váltó operátort (<<) használjuk Érték_0 << Érték_1ként. Ez az operátor balra eltolja a bal oldali operandus bal értékét a második operandusban megadott értékkel. A „res” tárolja a műszak operátor kimenetét. Ezt követően meghívjuk a Console.Write() metódust, hogy kinyomtassa a „The left shift is” szöveget, és a kapott értéket, amely a terminálon „res”-ben tárolódik.





2. példa:

Használjuk a bal oldali eltolás operátort az előjel nélküli egész értékeken, és nézzük meg, hogyan állítják elő a kimenetet.



Rendszer használata;

osztály Program_2
{
statikus üres Fő ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint eredmény = Val_0 << Val_1;
Konzol.Írj ( 'A bal váltás az' ) ;
Konzol.Írj ( eredmény ) ;
}
}

Itt a bal oldali eltolás operátort alkalmazzuk az előjel nélküli egész típusú értékre. Egy dologra ügyelnie kell, hogy a második operandusnak egész típusú értéknek kell lennie, mert a fordító csak egész számot vesz igénybe az eltoláshoz.

A statikus void Main() függvény meghívása után két változót deklarálunk – amelyek közül az egyik egy előjel nélküli egész „Val_0”, a másik pedig egy „Val_1”. Ezután definiálunk egy másik előjel nélküli egész változót, amely az „eredmény”, hogy megtartsa az eredő értéket az előjel nélküli egész szám balra eltolása után. Az eredményt nem tárolhatjuk egész típusú változóban, mert balra eltolás után az eredmény előjel nélküli érték. A „Val_0 << Val_1” utasítás balra tolja el a bal oldali operandust, amely egy előjel nélküli egész érték. Előjel nélküli egész értéket állít elő. A végén mutasd meg az eredményt a kimeneti képernyőn a „The left shift is” szöveggel a Console.Write() metódussal:

3. példa:

Ebben az esetben a Bitwise balra eltolás operátor (<<) használatának különböző módszereiről fogunk beszélni hosszú egész értékeken.

Rendszer használata;

osztály Program_3
{
statikus üres Fő ( ) {
hosszú szám_0 = Négy öt ;
hosszú szám_1 = 5 ;

Konzol.Írj ( 'A hosszú balra eltolása' ) ;
Console.WriteLine ( szám_0 << 3 ) ;
Konzol.Írj ( 'A hosszú balra eltolása' ) ;
Konzol.Írj ( szám_0 << Convert.ToInt16 ( szám_1 ) ) ;
}
}

Két hosszú egész típusú változó, a „szám_0” és a „szám_1” inicializálása az első utasításban történik. Hívja meg a Console.Write() függvényt, hogy megjelenítse a „The left shift of long is” üzenetet és az eredményt a terminálon. Itt a bal oldali eltolás operátort (<<) alkalmazzuk oly módon, hogy az első operandust első változóként, a második operandust pedig egész értékként helyezzük el. A fordító balra tolja el az első operandust, amely „szám_0”, 3-mal, és megjeleníti az eredményt. A következő utasításban nyomtasson ki egy másik üzenetet a képernyőre a Console.Write() metódussal. Itt az első „szám_0” változót használjuk első operandusként, és a második változót, a „szám_1” második operandusként. A második operandusnak egész típusú értéknek kell lennie. A második „szám_1” változót a Convert.ToInt16() függvény segítségével egész típusúra gépeljük. Ezután jelenítse meg az eredményt a konzolon:

4. példa:

Ez a kód megmutatja, hogyan rendelhetjük hozzá az értékeket egy egész számhoz az előjel nélküli hosszú operátor balra történő eltolása után.

Rendszer használata;

osztály Program_4
{
statikus üres Fő ( ) {
fejszám_0 = 445 ;

Konzol.Írj ( 'Az ulong balra eltolása' ) ;
Console.WriteLine ( szám_0 << 8 ) ;
Konzol.Írj ( 'Az ulong balra eltolása' ) ;
Console.WriteLine ( szám_0 << 16 ) ;
Konzol.Írj ( 'Az ulong balra eltolása' ) ;
Console.WriteLine ( szám_0 << 32 ) ;

}
}

Először deklaráljon egy előjel nélküli hosszú egész típusú változót, amely „szám_0”. Ezután jelenítse meg a „The left shift of ulong is” szöveget a terminálon a Console.Write() metódus meghívásával. A „szám_0” balra eltolását 8-as egész értékkel fogjuk megtalálni, és az eredményt nem kell sehol tárolnunk. A Console.WriteLine() függvény kiírja az eredményt a konzolra. Ismételje meg ezt a folyamatot kétszer, és változtassa meg a második operandus értékeit. Ezzel megkereshetjük egy hosszú előjel nélküli egész típusú érték balra tolását. De ha el akarjuk menteni az eredő értéket egy változóban, akkor tartsuk magunkban azt a gondolatot, hogy az eredmény ugyanolyan típusú, mint az első operandus. Az egyetlen különbség a Console.Write() és a Console.WriteLine() között az, hogy a második függvény kiírja az eredményt, és a kurzort a következő sorba küldi, míg az első függvény csak az eredményt írja ki, és a kurzor ugyanabban a sorban villog még azután is. a kimenet megjelenítése.

Következtetés

Megvizsgáltuk a Bitwise operátorokat C#-ban, típusukat és funkcióikat. A balra eltolás (<<) operátort a szám vagy az érték meghatározott számú bittel balra tolására alkalmazzuk. A Bitwise operátorok javítják a kód hatékonyságát, és ez nem terheli a rendszert, mivel könnyű operátorok. CPU-nk (számítógépes feldolgozó egységünk) bitenkénti szinten működik, amikor bármilyen aritmetikai műveletet végzünk. Dióhéjban, a Bitwise operátorok fontosak a programozásban, és a C# támogatja az összes Bitwise operátort, amelyekben a balra váltó operátor (<<) az egyik.