C# Bitwise Left Shift (<<) Operaator

C Bitwise Left Shift Operaator



C# programmeerimisel saame bititasandi toimingute tegemiseks kasutada Bitwise operaatoreid. Bititaseme arvutamine toimub CPU-s, kui teostame aritmeetilisi toiminguid, nagu liitmine, lahutamine, korrutamine või jagamine. Bitwise-operatsioone saame teha ka C# programmeerimisel ja protsess on lihtne. Bitwise operaatorid sooritavad antud väärtusega toimingu. Samuti on täpsustatud nihutatavate bittide arv. C# keeles on kuus Bitwise'i operaatorit, neist kaks on nihkeoperaatorid.

Meie aruteluteemaks on vahetusoperaatorid. Bitisuunalise vasakpoolse nihke operaatorit (<<) selgitatakse üksikasjalikult. Shift operaator, nagu nimigi ütleb, nihutab bitti määratud positsioonist vasakule või paremale. Väärtust nihutatakse määratud arvu bittide võrra vasakule, kasutades bitipõhise vasakpoolse nihke operaatorit (<<). Vasakpoolse nihke operaatorid võtavad sisendi ainult kujul int (täisarv), uint (märgita täisarv), long (pikk täisarv) ja ulong (märgita pikk täisarv). Kui vasak operand kuulub mõnda teist tüüpi, teisendatakse see täisarvu tüübiks. Tulemusväärtuse andmetüüp säilitab 32-bitise piirangu; väljund ei saa olla sellest suurem. Bitioperaatorid muudavad koodi tõhusamaks ja kiiremaks. Lisaks pakuvad need rohkem täpsust ja täpsust.

Süntaks:

Operandi_1 << Operandi_2







Esimene „Operand_1” on väärtus, mida nihutatakse vasakult nihete arvuni, mida „Operand_2” sisaldab. Sümbol << vasakule nihutab “Operand_1”.



Näide 1:

Selle programmi täisarvu väärtustele rakendatakse bitisuunalise vasakpoolse nihke operaatorit (<<).



süsteemi kasutamine;

klass Programm_1
{
staatiline tühimik Peamine ( ) {
int Väärtus_0 = 3. 4 ;
int Väärtus_1 = 65 ;
int res = Väärtus_0 << Väärtus_1;
Konsool.Kirjutage ( 'Vasak nihe on  ' ) ;
Konsool.Kirjutage ( res ) ;
}
}

Esimene lause sisaldab kahe täisarvu tüüpi muutuja deklareerimist ja initsialiseerimist. Esimene muutuja on 'Väärtus_0' ja teine ​​muutuja on 'Väärtus_1'. Neisse salvestatud väärtused on '34' ja '65'. Nihutasime väärtust 34 vasakule, kasutades vasakpoolse nihutamise operaatorit (<<). Seejärel deklareerime tulemuse salvestamiseks teise muutuja, millel on täisarvuline andmetüüp. Siin kasutame vasakpoolse nihke operaatorit (<<) kui Väärtus_0 << Väärtus_1. See operaator vasakule nihutab vasakpoolse operandi vasakpoolset väärtust teises operandis antud väärtuse võrra. 'Res' salvestab vahetuse operaatori väljundi. Pärast seda kutsume välja meetodi Console.Write(), et printida tekst 'Vasak nihe on' ja sellest tulenev väärtus, mis salvestatakse terminali 'res'.





Näide 2:

Kasutame märgita täisarvude väärtuste puhul vasakpoolse nihke operaatorit ja vaatame, kuidas need väljundit annavad.



süsteemi kasutamine;

klass Programm_2
{
staatiline tühimik Peamine ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint tulemus = Val_0 << Val_1;
Konsool.Kirjutage ( 'Vasak nihe on' ) ;
Konsool.Kirjutage ( tulemus ) ;
}
}

Siin rakendame märgita täisarvu tüübi väärtusele vasakpoolse nihke operaatorit. Üks asi, mille eest peate hoolitsema, on see, et teine ​​operaand peab olema täisarvu tüüpi väärtus, kuna kompilaator võtab nihutamiseks ainult täisarvu.

Pärast staatilise void funktsiooni Main() väljakutsumist deklareerime kaks muutujat – millest üks on märgita täisarv 'Val_0' ja teine ​​on täisarv 'Val_1'. Seejärel määratleme teise märgita täisarvu muutuja, mis on 'tulemus', et säilitada saadud väärtus pärast märgita täisarvu vasakule nihutamist. Me ei saa salvestada tulemust täisarvu tüüpi muutujasse, kuna pärast vasakule nihutamist on tulemuseks märgita väärtus. Avaldus 'Val_0 << Val_1' nihutab vasakule operandi, mis on märgita täisarv. See loob märgita täisarvu väärtuse. Lõpuks näita tulemust väljundekraanil tekstiga “Vasak nihe on”, kasutades meetodit Console.Write():

Näide 3:

Sel juhul räägime erinevatest meetoditest, kuidas kasutada bitiviisilise vasakpoolse nihke operaatorit (<<) pikkade täisarvude puhul.

süsteemi kasutamine;

klass Programm_3
{
staatiline tühimik Peamine ( ) {
pikk arv_0 = Neli, viis ;
pikk arv_1 = 5 ;

Konsool.Kirjutage ( 'Pika vasak nihe on' ) ;
Console.WriteLine ( number_0 << 3 ) ;
Konsool.Kirjutage ( 'Pika vasak nihe on' ) ;
Konsool.Kirjutage ( number_0 << Convert.ToInt16 ( number_1 ) ) ;
}
}

Kahe pika täisarvu tüüpi muutuja, “number_0” ja “number_1” initsialiseerimine toimub esimeses lauses. Käivitage funktsioon Console.Write(), et esitada teade 'Pika nihe vasakule on' ja tulemus terminalis. Siin rakendame vasakpoolse nihke operaatorit (<<) nii, et asetame esimese operandi esimeseks muutujaks ja teise operandi täisarvuks. Kompilaator nihutab esimest operandi, mis on 'arv_0', 3 võrra ja kuvab tulemuse. Järgmises lauses printige ekraanile teine ​​teade, kasutades meetodit Console.Write(). Siin kasutame esimest muutujat “number_0” esimese operandina ja teist muutujat “number_1” teise operandina. Teine operandi väärtus peab olema täisarvu tüüpi. Teise muutuja “number_1” sisestame täisarvutüübiks, kasutades funktsiooni Convert.ToInt16(). Seejärel kuvage tulemus konsoolil:

Näide 4:

See kood näitab, kuidas saame määrata väärtused täisarvule pärast märgita pika operaatori vasakule nihutamist.

süsteemi kasutamine;

klass Programm_4
{
staatiline tühimik Peamine ( ) {
pea number_0 = 445 ;

Konsool.Kirjutage ( 'Ulongi vasak nihe on' ) ;
Console.WriteLine ( number_0 << 8 ) ;
Konsool.Kirjutage ( 'Ulongi vasak nihe on' ) ;
Console.WriteLine ( number_0 << 16 ) ;
Konsool.Kirjutage ( 'Ulongi vasak nihe on' ) ;
Console.WriteLine ( number_0 << 32 ) ;

}
}

Esiteks deklareerige üks märgita pika täisarvu tüüpi muutuja, mis on 'number_0'. Järgmisena näidake terminalis teksti 'Ulongi vasakpoolne nihe on', kutsudes välja meetodit Console.Write(). Leiame numbri “number_0” vasakpoolse nihke täisarvu väärtusega 8 ja me ei pea tulemust kuhugi salvestama. Funktsioon Console.WriteLine() prindib tulemuse konsoolile. Korrake seda protsessi kaks korda ja muutke teise operandi väärtusi. Seda tehes leiame pika märgita täisarvu tüüpi väärtuse nihke vasakule. Kui tahame aga resultatiivset väärtust muutujasse salvestada, peaksime meeles pidama, et tulemus on sama tüüpi kui esimene operandi. Ainus erinevus Console.Write() ja Console.WriteLine() vahel on see, et teine ​​funktsioon prindib tulemuse ja saadab kursori järgmisele reale, samas kui esimene funktsioon prindib ainult tulemuse ja kursor vilgub samal real ka pärast väljundi kuvamine.

Järeldus

Uurisime Bitwise'i operaatoreid C#-s, nende tüüpe ja funktsioone. Vasakpoolse nihke (<<) operaatorit rakendatakse arvu või väärtuse nihutamiseks kindla bittide arvu võrra vasakule. Bitwise operaatorid parandavad koodi tõhusust ja see ei koorma süsteemi, kuna tegemist on kergete operaatoritega. Meie protsessor (arvutitöötlusseade) töötab bititasandil alati, kui teeme aritmeetilisi toiminguid. Lühidalt öeldes on Bitwise'i operaatorid programmeerimisel olulised ja C# toetab kõiki Bitwise'i operaatoreid, milles vasakpoolse nihke operaator (<<) on üks neist.