C# Operator bitnog pomaka ulijevo (<<).

C Operator Bitnog Pomaka Ulijevo



U C# programiranju možemo koristiti bitwise operatore za izvođenje operacija na razini bita. Izračun razine bitova obavlja se u CPU-u kada izvodimo aritmetičke operacije poput zbrajanja, oduzimanja, množenja ili dijeljenja. Također možemo raditi Bitwise operacije u C# programiranju i proces je jednostavan. Bitovi operatori izvode operaciju na danoj vrijednosti. Također je određen broj bitova za pomak. U jeziku C# postoji šest bitnih operatora, od kojih su dva operatori pomaka.

Naša tema za raspravu je o operaterima smjene. Detaljno će se objasniti bitni operator pomaka ulijevo (<<). Operator pomaka, kao što ime sugerira, pomiče bit sa specificirane pozicije ulijevo ili udesno. Vrijednost se pomiče ulijevo za određeni broj bitova korištenjem operatora pomaka ulijevo (<<). Operatori lijevog pomaka unose se samo u int (cijeli broj), uint (cijeli broj bez predznaka), long (cijeli broj bez predznaka) i ulong (cijeli broj bez predznaka). Kada lijevi operand pripada drugom tipu, pretvara se u cjelobrojni tip. Tip podataka rezultirajuće vrijednosti zadržava ograničenje od 32 bita; izlaz ne može biti veći od toga. Bitovi operatori čine kod učinkovitijim i bržim. Štoviše, nude veću točnost i preciznost.

Sintaksa:

Operand_1 << Operand_2







Prvi “Operand_1” je vrijednost koja je pomaknuta slijeva na broj pomaka koji sadrži “Operand_2”. Simbol << lijevo pomiče “Operand_1”.



Primjer 1:

Operator bitnog pomaka ulijevo (<<) primjenjuje se na cjelobrojne vrijednosti u ovom programu.



korištenje sustava;

razred Program_1
{
statička praznina Glavni ( ) {
int Vrijednost_0 = 3. 4 ;
int Vrijednost_1 = 65 ;
int res = Vrijednost_0 << Vrijednost_1;
Konzola.Piši ( 'Lijevi pomak je  ' ) ;
Konzola.Piši ( res ) ;
}
}

Prva izjava sadrži deklaraciju i inicijalizaciju dviju varijabli cjelobrojnog tipa. Prva varijabla je “Value_0”, a druga varijabla je “Value_1”. Vrijednosti koje su pohranjene u njima su “34” i “65”. Pomaknuli smo vrijednost 34 ulijevo koristeći operator pomaka ulijevo (<<). Zatim deklariramo drugu varijablu koja ima cjelobrojni tip podataka kako bismo spremili rezultat. Ovdje koristimo lijevi operator pomaka (<<) kao Value_0 << Value_1. Ovaj operator lijevo pomiče lijevu vrijednost lijevog operanda za danu vrijednost u drugom operandu. 'res' pohranjuje izlaz operatora pomaka. Nakon toga pozivamo metodu Console.Write() za ispis teksta 'Ljevi pomak je' i rezultirajuće vrijednosti koja je pohranjena u 'res' na terminalu.





Primjer 2:

Upotrijebimo lijevi operator pomaka na nepredznačenim cijelim brojevima i vidimo kako one proizvode izlaz.



korištenje sustava;

razred Program_2
{
statička praznina Glavni ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint proizlaziti = Val_0 << Val_1;
Konzola.Piši ( 'Lijevi pomak je ' ) ;
Konzola.Piši ( proizlaziti ) ;
}
}

Ovdje primjenjujemo operator pomaka ulijevo na vrijednost tipa cijelog broja bez predznaka. Jedna stvar o kojoj morate voditi računa je da drugi operand mora biti vrijednost tipa cijelog broja jer prevodilac uzima samo vrijednost cijelog broja za pomak.

Nakon pozivanja funkcije static void Main(), deklariramo dvije varijable – od kojih je jedna cjelobrojna vrijednost bez predznaka “Val_0”, a druga cjelobrojna vrijednost “Val_1”. Zatim definiramo drugu varijablu cijelog broja bez predznaka koja je 'rezultat' da zadrži rezultantnu vrijednost nakon pomicanja cijelog broja bez predznaka ulijevo. Ne možemo pohraniti rezultat u varijablu tipa cjelobrojnog broja jer je nakon pomaka ulijevo rezultat nepredznačena vrijednost. Naredba “Val_0 << Val_1” ulijevo pomiče lijevi operand koji je nepredznačena vrijednost cijelog broja. Proizvodi cjelobrojnu vrijednost bez predznaka. Na kraju, prikažite rezultat na izlaznom ekranu s tekstom “The left shift is” pomoću metode Console.Write():

Primjer 3:

U ovom slučaju, govorit ćemo o različitim metodama korištenja operatora bitnog lijevog pomaka (<<) na dugim cijelim brojevima.

korištenje sustava;

razred Program_3
{
statička praznina Glavni ( ) {
dugi broj_0 = Četiri pet ;
dugi broj_1 = 5 ;

Konzola.Piši ( 'Lijevi pomak dugog je ' ) ;
Konzola.WriteLine ( broj_0 << 3 ) ;
Konzola.Piši ( 'Lijevi pomak dugog je ' ) ;
Konzola.Piši ( broj_0 << Pretvori.ToInt16 ( broj 1 ) ) ;
}
}

Inicijalizacija dvije varijable tipa dugog cijelog broja, “number_0” i “number_1”, vrši se u prvoj izjavi. Pozovite funkciju Console.Write() za predstavljanje poruke 'Lijevi pomak dugog je' i rezultat na terminalu. Ovdje primjenjujemo lijevi operator pomaka (<<) na takav način da prvi operand postavljamo kao prvu varijablu, a drugi operand kao cjelobrojnu vrijednost. Prevodilac lijevo pomiče prvi operand koji je 'number_0' za 3 i prikazuje rezultat. U sljedećoj izjavi ispišite još jednu poruku na ekranu korištenjem metode Console.Write(). Ovdje koristimo prvu varijablu, 'number_0', kao prvi operand i drugu varijablu, 'number_1', kao drugi operand. Drugi operand mora biti vrijednost tipa cijelog broja. Drugu varijablu “number_1” tipiziramo u cjelobrojni tip pomoću funkcije Convert.ToInt16(). Zatim prikažite rezultat na konzoli:

Primjer 4:

Ovaj kod pokazuje kako možemo dodijeliti vrijednosti cijelom broju nakon izvođenja pomaka ulijevo na unsigned long operatoru.

korištenje sustava;

razred Program_4
{
statička praznina Glavni ( ) {
glava broj_0 = 445 ;

Konzola.Piši ( 'Lijevi pomak od ulong je ' ) ;
Konzola.WriteLine ( broj_0 << 8 ) ;
Konzola.Piši ( 'Lijevi pomak od ulong je ' ) ;
Konzola.WriteLine ( broj_0 << 16 ) ;
Konzola.Piši ( 'Lijevi pomak od ulong je ' ) ;
Konzola.WriteLine ( broj_0 << 32 ) ;

}
}

Prvo, deklarirajte jednu varijablu tipa dugog cijelog broja bez predznaka koja je 'number_0'. Zatim pokažite tekst 'Lijevi pomak od ulong je' na terminalu pozivanjem metode Console.Write(). Pronaći ćemo pomak ulijevo 'number_0' za cjelobrojnu vrijednost 8 i ne moramo nigdje pohranjivati ​​rezultat. Funkcija Console.WriteLine() ispisuje rezultat na konzoli. Ponovite ovaj postupak dva puta i promijenite vrijednosti drugog operanda. Čineći to, možemo pronaći pomak ulijevo duge nepredznačene vrijednosti tipa cijelog broja. Ali ako želimo spremiti rezultantnu vrijednost u varijablu, trebali bismo imati na umu da je rezultat istog tipa kao i prvi operand. Jedina razlika između Console.Write() i Console.WriteLine() je u tome što druga funkcija ispisuje ishod i šalje kursor u sljedeći redak, dok prva funkcija ispisuje samo ishod, a kursor treperi u istom retku čak i nakon prikazivanje izlaza.

Zaključak

Istražili smo bitwise operatore u C#, njihove vrste i funkcionalnosti. Operator pomaka ulijevo (<<) primjenjuje se za pomicanje broja ili vrijednosti za određeni broj bitova ulijevo. Bitwise operatori poboljšavaju učinkovitost koda i ne opterećuju sustav budući da su lagani operatori. Naš CPU (jedinica za obradu računala) radi na bitnoj razini kad god izvodimo bilo kakve aritmetičke operacije. Ukratko, Bitwise operatori su važni u programiranju i C# podržava sve Bitwise operatore u kojima je operator pomaka ulijevo (<<) jedan od njih.