C# Bitový levý Shift (<<) operátor

C Bitovy Levy Shift Operator



V programování v C# můžeme použít bitové operátory k provádění operací na bitové úrovni. Výpočet bitové úrovně se provádí v CPU, když provádíme aritmetické operace, jako je sčítání, odčítání, násobení nebo dělení. Můžeme také provádět bitové operace v programování C# a proces je jednoduchý. Bitové operátory provedou operaci s danou hodnotou. Je také specifikován počet bitů pro posun. V jazyce C# existuje šest bitových operátorů, dva z nich jsou operátory posunu.

Naše téma diskuse je o směnových operátorech. Operátor bitového posunu doleva (<<) bude podrobně vysvětlen. Posunovací operátor, jak název napovídá, posouvá bit ze zadané pozice doleva nebo doprava. Hodnota se posune doleva o zadaný počet bitů při použití bitového operátoru posunu doleva (<<). Operátory posunu vlevo berou vstup pouze v int (celé číslo), uint (celé číslo bez znaménka), long (dlouhé celé číslo) a ulong (dlouhé celé číslo bez znaménka). Když levý operand patří jinému typu, převede se na celočíselný typ. Datový typ výsledné hodnoty si zachovává limit 32 bitů; výstup nemůže být větší. Bitové operátory dělají kód efektivní a rychlejší. Navíc nabízejí větší přesnost a preciznost.

Syntax:

Operand_1 << Operand_2







První „Operand_1“ je hodnota, která je posunuta zleva o počet posunů, který „Operand_2“ obsahuje. Symbol << doleva posouvá „Operand_1“.



Příklad 1:

Operátor bitového posunu doleva (<<) se použije na celočíselné hodnoty v tomto programu.



pomocí systému;

třída Program_1
{
statické prázdno Hlavní ( ) {
int Hodnota_0 = 3. 4 ;
int Hodnota_1 = 65 ;
int res = Hodnota_0 << Hodnota_1;
Konzole. Napište ( 'Levý posun je  ' ) ;
Konzole. Napište ( res ) ;
}
}

První příkaz obsahuje deklaraci a inicializaci dvou proměnných celočíselného typu. První proměnná je „Value_0“ a druhá proměnná je „Value_1“. Hodnoty, které jsou v nich uloženy, jsou „34“ a „65“. Levý posun hodnotu 34 pomocí operátoru levého posunu (<<). Poté deklarujeme další proměnnou, která má datový typ celé číslo, aby se výsledek uložil. Zde používáme operátor posunu vlevo (<<) jako Hodnota_0 << Hodnota_1. Tento operátor doleva posune hodnotu levého operandu doleva o zadanou hodnotu v druhém operandu. „res“ ukládá výstup směnového operátora. Poté zavoláme metodu Console.Write(), abychom vytiskli text „Levý posun je“ a výslednou hodnotu, která je uložena v „res“ na terminálu.





Příklad 2:

Použijme operátor posunu vlevo na celočíselné hodnoty bez znaménka a podívejme se, jak produkují výstup.



pomocí systému;

třída Program_2
{
statické prázdno Hlavní ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint výsledek = Val_0 << Val_1;
Konzole. Napište ( 'Levá směna je' ) ;
Konzole. Napište ( výsledek ) ;
}
}

Zde použijeme operátor posunu vlevo na hodnotu typu celé číslo bez znaménka. Jedna věc, o kterou se musíte postarat, je, že druhý operand musí být celočíselná hodnota, protože kompilátor bere k posunu pouze celočíselnou hodnotu.

Po zavolání statické funkce void Main() deklarujeme dvě proměnné – jedna z nich je celočíselná hodnota bez znaménka „Val_0“ a druhá je celočíselná hodnota „Val_1“. Poté definujeme další celočíselnou proměnnou bez znaménka, která je „výsledkem“, aby byla zachována výsledná hodnota po posunutí celého čísla bez znaménka doleva. Výsledek nemůžeme uložit do proměnné typu integer, protože po posunutí doleva je výsledkem hodnota bez znaménka. Příkaz „Val_0 << Val_1“ doleva posune levý operand, který je celočíselnou hodnotou bez znaménka. Vytváří celočíselnou hodnotu bez znaménka. Nakonec ukažte výsledek na výstupní obrazovce s textem „Levý posun je“ pomocí metody Console.Write():

Příklad 3:

V tomto případě budeme hovořit o různých metodách použití operátoru bitového posunu vlevo (<<) pro dlouhé celočíselné hodnoty.

pomocí systému;

třída Program_3
{
statické prázdno Hlavní ( ) {
dlouhé číslo_0 = Čtyři pět ;
dlouhé číslo_1 = 5 ;

Konzole. Napište ( 'Levý posun long je' ) ;
Console.WriteLine ( číslo_0 << 3 ) ;
Konzole. Napište ( 'Levý posun long je' ) ;
Konzole. Napište ( číslo_0 << Convert.ToInt16 ( číslo 1 ) ) ;
}
}

Inicializace dvou proměnných typu long integer, „číslo_0“ a „číslo_1“, se provádí v prvním příkazu. Vyvolejte funkci Console.Write(), která bude reprezentovat zprávu „Levý posun dlouhé je“ a výsledek na terminálu. Zde použijeme operátor posunu vlevo (<<) tak, že první operand umístíme jako první proměnnou a druhý operand jako celočíselnou hodnotu. Kompilátor doleva posune první operand, kterým je „číslo_0“ o 3 a zobrazí výsledek. V dalším příkazu vytiskněte na obrazovku další zprávu pomocí metody Console.Write(). Zde použijeme první proměnnou „číslo_0“ jako první operand a druhou proměnnou „číslo_1“ jako druhý operand. Druhý operand musí být celočíselná hodnota. Druhou proměnnou „číslo_1“ přetypujeme na celočíselný typ pomocí funkce Convert.ToInt16(). Poté zobrazte výsledek na konzole:

Příklad 4:

Tento kód ukazuje, jak můžeme přiřadit hodnoty k celému číslu po provedení levého posunu na dlouhém operátoru bez znaménka.

pomocí systému;

třída Program_4
{
statické prázdno Hlavní ( ) {
číslo hlavy_0 = 445 ;

Konzole. Napište ( 'Levý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 8 ) ;
Konzole. Napište ( 'Levý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 16 ) ;
Konzole. Napište ( 'Levý posun ulong je' ) ;
Console.WriteLine ( číslo_0 << 32 ) ;

}
}

Nejprve deklarujte jednu proměnnou typu long integer bez znaménka, která je „číslo_0“. Dále zobrazte na terminálu text „Levý posun ulong je“ voláním metody Console.Write(). Najdeme levý posun „čísla_0“ o celočíselnou hodnotu 8 a výsledek nemusíme nikam ukládat. Funkce Console.WriteLine() vytiskne výsledek na konzole. Opakujte tento proces dvakrát a změňte hodnoty druhého operandu. Tímto způsobem můžeme najít levý posun hodnoty typu long unsigned integer. Pokud ale chceme uložit výslednou hodnotu do proměnné, měli bychom mít na paměti, že výsledek je stejného typu jako první operand. Jediný rozdíl mezi Console.Write() a Console.WriteLine() je v tom, že druhá funkce vytiskne výsledek a odešle kurzor na další řádek, zatímco první funkce pouze vytiskne výsledek a kurzor bliká na stejném řádku i po zobrazení výstupu.

Závěr

Prozkoumali jsme bitové operátory v C#, jejich typy a funkce. Operátor posunu doleva (<<) se používá k posunutí čísla nebo hodnoty o určitý počet bitů doleva. Operátoři Bitwise zlepšují efektivitu kódu a nezatěžují systém, protože se jedná o nenáročné operátory. Náš CPU (procesorová jednotka) pracuje na bitové úrovni, kdykoli provádíme jakékoli aritmetické operace. Stručně řečeno, bitové operátory jsou důležité při programování a C# podporuje všechny bitové operátory, ve kterých je operátor posunu vlevo (<<) jedním z nich.