C# Bitwise Left Shift (<<) Operators

C Bitwise Left Shift Operators



C# programmēšanā mēs varam izmantot Bitwise operatorus, lai veiktu bitu līmeņa darbības. Bitu līmeņa aprēķins tiek veikts CPU, kad veicam aritmētiskas darbības, piemēram, saskaitīšanu, atņemšanu, reizināšanu vai dalīšanu. Bitwise darbības varam veikt arī C# programmēšanā, un process ir vienkāršs. Bitwise operatori veic darbību ar doto vērtību. Ir norādīts arī pārbīdāmo bitu skaits. C# valodā ir seši Bitwise operatori, divi no tiem ir maiņas operatori.

Mūsu diskusijas tēma ir par maiņu operatoriem. Detalizēti tiks izskaidrots Bitwise nobīdes operators pa kreisi (<<). Pārbīdes operators, kā norāda nosaukums, pārbīda bitu no norādītās pozīcijas pa kreisi vai pa labi. Vērtība tiek pārvietota pa kreisi par norādīto bitu skaitu, izmantojot bitu pa kreisi nobīdes operatoru (<<). Kreisās maiņas operatori ievadi ievada tikai int (vesels skaitlis), uint (neparakstīts vesels skaitlis), long (garš vesels skaitlis) un ulong (neparakstīts garš vesels skaitlis). Ja kreisais operands pieder citam tipam, tas tiek pārveidots par vesela skaitļa tipu. Rezultātā iegūtās vērtības datu tips saglabā 32 bitu ierobežojumu; izlaide nevar būt lielāka par to. Bitu operatori padara kodu efektīvu un ātrāku. Turklāt tie piedāvā lielāku precizitāti un precizitāti.

Sintakse:

Operands_1 << Operands_2







Pirmais “Operand_1” ir vērtība, kas tiek pārvietota no kreisās puses uz maiņu skaitu, ko satur “Operand_2”. Simbols << pa kreisi nobīda “Operandu_1”.



1. piemērs:

Šajā programmā veselo skaitļu vērtībām tiek piemērots operators Bitwise shift operators (<<).



izmantojot sistēmu;

klase Programma_1
{
statiskā tukšums Galvenā ( ) {
int Vērtība_0 = 3. 4 ;
int Vērtība_1 = 65 ;
starpt res = Vērtība_0 << Vērtība_1;
Konsole. Rakstiet ( 'Kreisā maiņa ir  ' ) ;
Konsole. Rakstiet ( res ) ;
}
}

Pirmais priekšraksts satur divu veselu skaitļu mainīgo deklarāciju un inicializāciju. Pirmais mainīgais ir “Vērtība_0”, bet otrais mainīgais ir “Vērtība_1”. Tajos saglabātās vērtības ir “34” un “65”. Mēs nobīdām vērtību 34 pa kreisi, izmantojot maiņas operatoru pa kreisi (<<). Pēc tam mēs deklarējam citu mainīgo, kuram ir vesela skaitļa datu tips, lai saglabātu rezultātu. Šeit mēs izmantojam kreisās puses maiņas operatoru (<<) kā Vērtība_0 << Vērtība_1. Šis operators pa kreisi nobīda kreisā operanda kreiso vērtību par norādīto vērtību otrajā operandā. “Res” saglabā maiņas operatora izvadi. Pēc tam mēs izsaucam metodi Console.Write(), lai drukātu tekstu “The left shift ir” un no tā izrietošo vērtību, kas terminālī tiek saglabāta kā “res”.





2. piemērs:

Izmantosim kreisās maiņas operatoru neparakstītām veselu skaitļu vērtībām un redzēsim, kā tās rada izvadi.



izmantojot sistēmu;

klase Programma_2
{
statiskā tukšums Galvenā ( ) {
uint Val_0 = 4435 ;
int Val_1 = 64 ;
uint rezultāts = Val_0 << Val_1;
Konsole. Rakstiet ( 'Kreisā maiņa ir' ) ;
Konsole. Rakstiet ( rezultāts ) ;
}
}

Šeit mēs izmantojam kreisās maiņas operatoru neparakstītai vesela skaitļa tipa vērtībai. Viena lieta, kas jums jārūpējas, ir tāda, ka otrajam operandam ir jābūt vesela skaitļa tipa vērtībai, jo kompilators ņem tikai vesela skaitļa vērtību, lai pārvietotu.

Pēc statiskās void Main() funkcijas izsaukšanas mēs deklarējam divus mainīgos – viens no tiem ir neparakstīts vesels skaitlis “Val_0” un otrs ir vesela skaitļa vērtība “Val_1”. Pēc tam mēs definējam citu neparakstītu veselu skaitļu mainīgo, kas ir “rezultāts”, lai saglabātu iegūto vērtību pēc neparakstītā veselā skaitļa pārvietošanas pa kreisi. Mēs nevaram saglabāt rezultātu vesela skaitļa tipa mainīgajā, jo pēc pārvietošanas pa kreisi rezultāts ir neparakstīta vērtība. Paziņojums “Val_0 << Val_1” pārvieto kreiso operandu, kas ir neparakstīta vesela skaitļa vērtība. Tas rada neparakstītu veselu skaitļu vērtību. Beigās parādiet rezultātu izvades ekrānā ar tekstu “The left shift is”, izmantojot Console.Write() metodi:

3. piemērs:

Šajā gadījumā mēs runāsim par dažādām metodēm, kā izmantot Bitwise kreisās maiņas operatoru (<<) garu veselu skaitļu vērtībām.

izmantojot sistēmu;

klase Programma_3
{
statiskā tukšums Galvenā ( ) {
garš skaitlis_0 = Četri, pieci ;
garš skaitlis_1 = 5 ;

Konsole. Rakstiet ( 'Kreisā garuma maiņa ir' ) ;
Console.WriteLine ( numurs_0 << 3 ) ;
Konsole. Rakstiet ( 'Kreisā garuma maiņa ir' ) ;
Konsole. Rakstiet ( numurs_0 << Convert.ToInt16 ( numurs_1 ) ) ;
}
}

Divu garu veselu skaitļu tipa mainīgo, “skaitlis_0” un “skaitlis_1”, inicializācija tiek veikta pirmajā priekšrakstā. Izsauciet funkciju Console.Write(), lai parādītu ziņojumu “The left shift of long is” un rezultātu terminālī. Šeit mēs izmantojam kreisās puses maiņas operatoru (<<) tādā veidā, ka pirmo operandu ievietojam kā pirmo mainīgo, bet otro operandu kā vesela skaitļa vērtību. Kompilators pa kreisi nobīda pirmo operandu, kas ir “skaitlis_0”, par 3 un parāda rezultātu. Nākamajā priekšrakstā izdrukājiet citu ziņojumu ekrānā, izmantojot metodi Console.Write(). Šeit mēs izmantojam pirmo mainīgo 'skaitlis_0' kā pirmo operandu un otro mainīgo 'skaitlis_1' kā otro operandu. Otrajam operandam ir jābūt vesela skaitļa tipa vērtībai. Mēs ierakstām otro mainīgo “skaitlis_1” uz vesela skaitļa tipu, izmantojot funkciju Convert.ToInt16(). Pēc tam konsolē parādiet rezultātu:

4. piemērs:

Šis kods parāda, kā mēs varam piešķirt vērtības veselam skaitlim pēc pārslēgšanas pa kreisi ar neparakstīto garo operatoru.

izmantojot sistēmu;

klase Programma_4
{
statiskā tukšums Galvenā ( ) {
galvas numurs_0 = 445 ;

Konsole. Rakstiet ( 'Ulonga kreisā maiņa ir' ) ;
Console.WriteLine ( numurs_0 << 8 ) ;
Konsole. Rakstiet ( 'Ulonga kreisā maiņa ir' ) ;
Console.WriteLine ( numurs_0 << 16 ) ;
Konsole. Rakstiet ( 'Ulonga kreisā maiņa ir' ) ;
Console.WriteLine ( numurs_0 << 32 ) ;

}
}

Vispirms deklarējiet vienu neparakstītu garu veselu skaitļu tipa mainīgo, kas ir “skaitlis_0”. Pēc tam terminālī parādiet tekstu “The left shift of ulong is”, izsaucot Console.Write() metodi. Mēs atradīsim “skaitļa_0” kreiso nobīdi ar veselu skaitļu vērtību 8, un mums nav nepieciešams nekur saglabāt rezultātu. Funkcija Console.WriteLine() izdrukā rezultātu konsolē. Atkārtojiet šo procesu divas reizes un mainiet otrā operanda vērtības. To darot, mēs varam atrast gara neparakstīta vesela skaitļa veida vērtības kreiso nobīdi. Bet, ja mēs vēlamies saglabāt iegūto vērtību mainīgajā, mums vajadzētu paturēt domas, ka rezultāts ir tāda paša veida kā pirmais operands. Vienīgā atšķirība starp Console.Write() un Console.WriteLine() ir tā, ka otrā funkcija izdrukā rezultātu un nosūta kursoru uz nākamo rindiņu, savukārt pirmā funkcija tikai izdrukā rezultātu un kursors mirgo tajā pašā rindā pat pēc izvades parādīšana.

Secinājums

Mēs izpētījām Bitwise operatorus C#, to veidus un funkcijas. Nobīdes pa kreisi (<<) operators tiek izmantots, lai pārvietotu skaitli vai vērtību par noteiktu bitu skaitu pa kreisi. Bitwise operatori uzlabo koda efektivitāti, un tas neapgrūtina sistēmu, jo tie ir vieglie operatori. Mūsu centrālais procesors (datoru apstrādes vienība) darbojas bitu līmenī ikreiz, kad veicam aritmētiskās darbības. Īsāk sakot, Bitwise operatori ir svarīgi programmēšanā, un C# atbalsta visus Bitwise operatorus, kuros kreisās maiņas operators (<<) ir viens no tiem.