C# Bitový ľavý Shift (<<) operátor

C Bitovy Lavy Shift Operator



V programovaní v C# môžeme použiť bitové operátory na vykonávanie operácií na bitovej úrovni. Výpočet bitovej úrovne sa vykonáva v CPU, keď vykonávame aritmetické operácie, ako je sčítanie, odčítanie, násobenie alebo delenie. Môžeme tiež robiť bitové operácie v programovaní C# a proces je jednoduchý. Bitové operátory vykonajú operáciu s danou hodnotou. Počet bitov na posun je tiež špecifikovaný. V jazyku C# existuje šesť bitových operátorov, z ktorých dva sú operátormi posunu.

Naša téma diskusie sa týka operátorov zmien. Operátor bitového posunu doľava (<<) bude podrobne vysvetlený. Operátor posunu, ako už názov napovedá, posúva bit z určenej pozície doľava alebo doprava. Hodnota sa posunie doľava o určený počet bitov pri použití bitového operátora posunu doľava (<<). Operátory posunu vľavo preberajú vstup iba v int (celé číslo), uint (celé číslo bez znamienka), long (dlhé celé číslo) a ulong (dlhé celé číslo bez znamienka). Keď ľavý operand patrí inému typu, skonvertuje sa na celočíselný typ. Dátový typ výslednej hodnoty si zachováva limit 32 bitov; výstup nemôže byť väčší. Bitové operátory robia kód efektívnym a rýchlejším. Navyše ponúkajú väčšiu presnosť a presnosť.

Syntax:

Operand_1 << Operand_2







Prvý „Operand_1“ je hodnota, ktorá je posunutá zľava o počet posunov, ktoré obsahuje „Operand_2“. Symbol << doľava posúva „Operand_1“.



Príklad 1:

Operátor bitového posunu doľava (<<) sa použije na celočíselné hodnoty v tomto programe.



pomocou systému;

trieda Program_1
{
static void Main ( ) {
int Hodnota_0 = 3. 4 ;
int Hodnota_1 = 65 ;
int res = Hodnota_0 << Hodnota_1;
Konzola.Píšte ( 'Ľavý posun je  ' ) ;
Konzola.Píšte ( res ) ;
}
}

Prvý príkaz obsahuje deklaráciu a inicializáciu dvoch premenných celočíselného typu. Prvá premenná je „Hodnota_0“ a druhá premenná je „Hodnota_1“. Hodnoty, ktoré sú v nich uložené, sú „34“ a „65“. Ľavý shift hodnotu 34 pomocou operátora ľavého posunu (<<). Potom deklarujeme ďalšiu premennú, ktorá má celočíselný dátový typ na uloženie výsledku. Tu používame operátor posunu doľava (<<) ako Hodnota_0 << Hodnota_1. Tento operátor doľava posúva hodnotu ľavého operandu doľava o danú hodnotu v druhom operande. „res“ ukladá výstup operátora zmeny. Potom zavoláme metódu Console.Write(), aby sme vytlačili text „Ľavý posun je“ a výslednú hodnotu, ktorá je uložená v „res“ na termináli.





Príklad 2:

Použime operátor posunu vľavo na celočíselné hodnoty bez znamienka a uvidíme, ako vytvárajú výstup.



pomocou systému;

trieda Program_2
{
static void Main ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint výsledok = Val_0 << Val_1;
Konzola.Píšte ( 'Ľavý posun je' ) ;
Konzola.Píšte ( výsledok ) ;
}
}

Tu použijeme operátor posunu vľavo na hodnotu typu celé číslo bez znamienka. Jedna vec, o ktorú sa musíte postarať, je, že druhý operand musí byť celočíselná hodnota, pretože kompilátor berie na posun iba celočíselné hodnoty.

Po zavolaní statickej funkcie void Main() deklarujeme dve premenné – jedna z nich je celočíselná hodnota bez znamienka „Val_0“ a druhá je celočíselná hodnota „Val_1“. Potom definujeme ďalšiu premennú celého čísla bez znamienka, ktorá je „výsledkom“, aby sa zachovala výsledná hodnota po posunutí celého čísla bez znamienka doľava. Výsledok nemôžeme uložiť do premennej typu celé číslo, pretože po posunutí doľava je výsledkom hodnota bez znamienka. Príkaz „Val_0 << Val_1“ doľava posúva ľavý operand, ktorý je celočíselnou hodnotou bez znamienka. Vytvára hodnotu celého čísla bez znamienka. Nakoniec zobrazte výsledok na výstupnej obrazovke s textom „Ľavý posun je“ pomocou metódy Console.Write():

Príklad 3:

V tomto prípade budeme hovoriť o rôznych metódach používania bitového operátora ľavého posunu (<<) na dlhých celočíselných hodnotách.

pomocou systému;

trieda Program_3
{
static void Main ( ) {
dlhé číslo_0 = Štyri, päť ;
dlhé číslo_1 = 5 ;

Konzola.Píšte ( 'Ľavý posun long je' ) ;
Console.WriteLine ( číslo_0 << 3 ) ;
Konzola.Píšte ( 'Ľavý posun long je' ) ;
Konzola.Píšte ( číslo_0 << Convert.ToInt16 ( číslo 1 ) ) ;
}
}

Inicializácia dvoch premenných typu long integer, „number_0“ a „number_1“, sa vykonáva v prvom príkaze. Vyvolajte funkciu Console.Write(), ktorá predstaví správu „Ľavý posun dlhého je“ a výsledok na termináli. Tu použijeme operátor posunu doľava (<<) tak, že prvý operand umiestnime ako prvú premennú a druhý operand ako celočíselnú hodnotu. Kompilátor doľava posunie prvý operand, ktorým je „číslo_0“ o 3 a zobrazí výsledok. V ďalšom príkaze vytlačte na obrazovku ďalšiu správu pomocou metódy Console.Write(). Tu používame prvú premennú „číslo_0“ ako prvý operand a druhú premennú „číslo_1“ ako druhý operand. Druhý operand musí byť celočíselná hodnota. Druhú premennú „číslo_1“ pretypujeme na celočíselný typ pomocou funkcie Convert.ToInt16(). Potom zobrazte výsledok na konzole:

Príklad 4:

Tento kód ukazuje, ako môžeme priradiť hodnoty k celému číslu po vykonaní ľavého posunu na dlhom operátore bez znamienka.

pomocou systému;

trieda Program_4
{
static void Main ( ) {
číslo hlavy_0 = 445 ;

Konzola.Píšte ( 'Ľavý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 8 ) ;
Konzola.Píšte ( 'Ľavý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 16 ) ;
Konzola.Píšte ( 'Ľavý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 32 ) ;

}
}

Najprv deklarujte jednu premennú typu long integer bez znamienka, ktorá je „číslo_0“. Ďalej zobrazte na termináli text „Ľavý posun ulong je“ zavolaním metódy Console.Write(). Nájdeme ľavý posun „čísla_0“ o celé číslo 8 a výsledok nemusíme nikde ukladať. Funkcia Console.WriteLine() vytlačí výsledok na konzole. Tento proces zopakujte dvakrát a zmeňte hodnoty druhého operandu. Týmto spôsobom môžeme nájsť ľavý posun hodnoty typu long unsigned integer. Ale ak chceme uložiť výslednú hodnotu do premennej, mali by sme si uvedomiť, že výsledok je rovnakého typu ako prvý operand. Jediný rozdiel medzi Console.Write() a Console.WriteLine() je v tom, že druhá funkcia vytlačí výsledok a pošle kurzor na ďalší riadok, zatiaľ čo prvá funkcia vytlačí iba výsledok a kurzor bliká na rovnakom riadku aj po zobrazenie výstupu.

Záver

Preskúmali sme bitové operátory v C#, ich typy a funkcie. Operátor posunu doľava (<<) sa používa na posunutie čísla alebo hodnoty o určitý počet bitov doľava. Operátori Bitwise zlepšujú efektívnosť kódu a nezaťažujú systém, keďže ide o nenáročných operátorov. Náš CPU (počítačová procesorová jednotka) pracuje na bitovej úrovni vždy, keď vykonávame akékoľvek aritmetické operácie. Stručne povedané, bitové operátory sú dôležité pri programovaní a C# podporuje všetky bitové operátory, v ktorých je operátor posunu vľavo (<<) jedným z nich.