C# Bitwise Left Shift (<<) Operaattori

C Bitwise Left Shift Operaattori



C#-ohjelmoinnissa voimme käyttää Bitwise-operaattoreita bittitason toimintojen suorittamiseen. Bittitason laskenta suoritetaan CPU:ssa, kun suoritamme aritmeettisia operaatioita, kuten yhteen-, vähennys-, kerto- tai jakolaskuja. Pystymme myös tekemään Bitwise-operaatioita C#-ohjelmoinnissa ja prosessi on yksinkertainen. Bitwise-operaattorit suorittavat toimenpiteen annetulle arvolle. Myös siirrettävien bittien määrä on määritelty. C#-kielellä on kuusi Bitwise-operaattoria, joista kaksi on shift-operaattoreita.

Keskustelumme aiheena on vuorooperaattoreita. Bitwise left shift -operaattori (<<) selitetään yksityiskohtaisesti. Vaihto-operaattori, kuten nimestä voi päätellä, siirtää bitin määritetystä paikasta vasemmalle tai oikealle. Arvoa siirretään vasemmalle määritetyn bittimäärän verran, kun käytetään bittikohtaisen vasemman siirtooperaattoria (<<). Vasemmanpuoleiset siirtooperaattorit ottavat syötteen vain muodossa int (kokonaisluku), uint (etumerkitön kokonaisluku), long (pitkä kokonaisluku) ja ulong (etumerkitön pitkä kokonaisluku). Kun vasen operandi kuuluu eri tyyppiin, se muunnetaan kokonaislukutyypiksi. Tuloksena olevan arvon tietotyyppi säilyttää 32 bitin rajan; tuotto ei voi olla tätä suurempi. Bittioperaattorit tekevät koodista tehokkaan ja nopeamman. Lisäksi ne tarjoavat enemmän tarkkuutta ja tarkkuutta.

Syntaksi:

Operandi_1 << Operandi_2







Ensimmäinen 'Operand_1' on arvo, joka siirretään vasemmalta 'Operand_2':n sisältämien vuorojen lukumäärään. Symboli << vasemmalle siirtää 'Operand_1' -kohtaa.



Esimerkki 1:

Bitwise left shift -operaattoria (<<) käytetään tämän ohjelman kokonaislukuarvoihin.



käyttämällä järjestelmää;

luokan ohjelma_1
{
staattinen tyhjyys Pää ( ) {
int Arvo_0 = 3. 4 ;
int Arvo_1 = 65 ;
int res = Arvo_0 << Arvo_1;
Konsoli. Kirjoita ( 'Vasen vaihto on  ' ) ;
Konsoli. Kirjoita ( res ) ;
}
}

Ensimmäinen lause sisältää kahden kokonaislukutyyppisen muuttujan ilmoituksen ja alustuksen. Ensimmäinen muuttuja on 'Arvo_0' ja toinen muuttuja 'Arvo_1'. Niihin tallennetut arvot ovat '34' ja '65'. Siirsimme vasemmalle arvon 34 vasemmalle siirtooperaattorilla (<<). Sitten ilmoitamme tuloksen tallentamiseksi toisen muuttujan, jolla on kokonaislukutietotyyppi. Tässä käytämme vasemman siirtooperaattoria (<<) arvona Arvo_0 << Arvo_1. Tämä operaattori vasemmalle siirtää vasemman operandin vasemman arvon annetulla arvolla toisessa operandissa. 'Res' tallentaa vuorooperaattorin lähdön. Tämän jälkeen kutsumme Console.Write() -menetelmää tulostamaan tekstin 'The left shift on' ja tuloksena olevan arvon, joka tallennetaan terminaaliin 'res'.





Esimerkki 2:

Käytetään vasempaan siirtooperaattoria etumerkittömiin kokonaislukuarvoihin ja katsotaan kuinka ne tuottavat tulosteen.



käyttämällä järjestelmää;

luokan Ohjelma_2
{
staattinen tyhjyys Pää ( ) {
uint Val_0 = 4435 ;
int  Val_1 = 64 ;
uint tulos = Val_0 << Val_1;
Konsoli. Kirjoita ( 'Vasen siirto on' ) ;
Konsoli. Kirjoita ( tulos ) ;
}
}

Tässä käytämme vasempaan siirtooperaattoria etumerkittömään kokonaislukutyyppiin. Yksi asia, josta sinun on huolehdittava, on se, että toisen operandin on oltava kokonaislukutyyppinen arvo, koska kääntäjä ottaa vain kokonaisluvun arvon siirtääkseen.

Kun staattinen void Main() -funktio on kutsuttu, määritetään kaksi muuttujaa – joista toinen on etumerkitön kokonaislukuarvo 'Val_0' ja toinen on kokonaislukuarvo 'Val_1'. Sitten määritämme toisen etumerkittömän kokonaislukumuuttujan, joka on 'tulos', jotta tuloksena oleva arvo säilyy sen jälkeen, kun etumerkitön kokonaisluku on siirretty vasemmalle. Emme voi tallentaa tulosta kokonaislukutyyppiseen muuttujaan, koska vasemmalle siirron jälkeen tulos on etumerkitön arvo. 'Val_0 << Val_1' -käsky vasemmalle siirtää vasenta operandia, joka on etumerkitön kokonaisluku. Se tuottaa etumerkittömän kokonaisluvun. Lopuksi näytä tulos tulosnäytöllä tekstillä 'The left shift is' käyttämällä Console.Write() -menetelmää:

Esimerkki 3:

Tässä tapauksessa puhumme eri tavoista käyttää Bitwise left shift -operaattoria (<<) pitkillä kokonaislukuarvoilla.

käyttämällä järjestelmää;

luokan ohjelma_3
{
staattinen tyhjyys Pää ( ) {
pitkä numero_0 = Neljä viisi ;
pitkä numero_1 = 5 ;

Konsoli. Kirjoita ( 'Pitkän vasen siirto on' ) ;
Console.WriteLine ( numero_0 << 3 ) ;
Konsoli. Kirjoita ( 'Pitkän vasen siirto on' ) ;
Konsoli. Kirjoita ( numero_0 << Convert.ToInt16 ( numero 1 ) ) ;
}
}

Kahden pitkän kokonaislukutyyppisen muuttujan, 'numero_0' ja 'numero_1' alustus tehdään ensimmäisessä käskyssä. Kutsu Console.Write()-funktio edustamaan sanomaa 'The left shift of long is' ja tulos terminaalissa. Tässä käytetään vasempaan siirtooperaattoria (<<) siten, että asetamme ensimmäisen operandin ensimmäiseksi muuttujaksi ja toisen operandin kokonaislukuarvoksi. Kääntäjä vasemmalle siirtää ensimmäistä operandia, joka on 'numero_0', kolmella ja näyttää tuloksen. Tulosta seuraavassa käskyssä toinen viesti näytölle käyttämällä Console.Write()-menetelmää. Tässä käytetään ensimmäistä muuttujaa 'luku_0' ensimmäisenä operandina ja toista muuttujaa 'numero_1' toisena operandina. Toisen operandin on oltava kokonaislukutyyppinen arvo. Kirjoitamme toisen muuttujan “numero_1” kokonaislukutyyppiin käyttämällä Convert.ToInt16()-funktiota. Näytä sitten tulos konsolissa:

Esimerkki 4:

Tämä koodi näyttää, kuinka voimme määrittää arvot kokonaisluvulle suoritettuamme vasemman siirroksen etumerkittömällä pitkällä operaattorilla.

käyttämällä järjestelmää;

luokan ohjelma_4
{
staattinen tyhjyys Pää ( ) {
pään numero_0 = 445 ;

Konsoli. Kirjoita ( 'Ulongin vasen siirto on' ) ;
Console.WriteLine ( numero_0 << 8 ) ;
Konsoli. Kirjoita ( 'Ulongin vasen siirto on' ) ;
Console.WriteLine ( numero_0 << 16 ) ;
Konsoli. Kirjoita ( 'Ulongin vasen siirto on' ) ;
Console.WriteLine ( numero_0 << 32 ) ;

}
}

Ilmoita ensin yksi etumerkitön pitkä kokonaislukutyyppinen muuttuja, joka on 'numero_0'. Näytä seuraavaksi teksti 'The left shift of ulong is' kutsumalla Console.Write() -metodia. Löydämme 'numeron_0' vasemman siirron kokonaislukuarvolla 8, eikä meidän tarvitse tallentaa tulosta minnekään. Console.WriteLine()-funktio tulostaa tuloksen konsoliin. Toista tämä prosessi kahdesti ja muuta toisen operandin arvoja. Näin voimme löytää pitkän etumerkittömän kokonaislukutyypin arvon siirtymän vasemmalle. Mutta jos haluamme tallentaa resultantin arvon muuttujaan, meidän tulee pitää mielessä, että tulos on samaa tyyppiä kuin ensimmäinen operandi. Ainoa ero Console.Write()- ja Console.WriteLine()-funktioiden välillä on, että toinen funktio tulostaa tuloksen ja lähettää kohdistimen seuraavalle riville, kun taas ensimmäinen funktio tulostaa vain tuloksen ja kohdistin vilkkuu samalla rivillä myös sen jälkeen. tuotoksen näyttäminen.

Johtopäätös

Tutkimme C#:n Bitwise-operaattoreita, niiden tyyppejä ja toimintoja. Vasemman siirto (<<) -operaattoria käytetään siirtämään numeroa tai arvoa tietyllä bittimäärällä vasemmalle. Bitwise-operaattorit parantavat koodin tehokkuutta, eikä se kuormita järjestelmää, koska ne ovat kevyitä operaattoreita. CPU (tietokoneen käsittelyyksikkö) toimii Bitwise-tasolla aina, kun suoritamme aritmeettisia operaatioita. Lyhyesti sanottuna Bitwise-operaattorit ovat tärkeitä ohjelmoinnissa ja C# tukee kaikkia Bitwise-operaattoreita, joissa vasen siirtooperaattori (<<) on yksi niistä.