Ez a rész a Bitwise shift operátorokat tárgyalja a c programozási nyelvben. A bitenkénti eltolás operátor a bináris bitek balra vagy jobbra tolására szolgál, a program követelményei szerint.
A Shift operátorokat a bitek eltolási helyzete alapján két típusba soroljuk.
- Bal műszakkezelő
- Jobb műszakkezelő
Bal műszakkezelő
A balra eltolás operátor egyfajta Bitwise shift operátor, amely a bináris biteken hajt végre műveleteket. Ez egy bináris operátor, amelyhez két operandusra van szükség ahhoz, hogy a bitek helyzetét balra tolja vagy mozgassa, és a bitek eltolása után nullákat adjon a jobb oldalon létrehozott üres helyre.
c++ pár
Szintaxis
var_name << no_of_position
A fenti szintaxisban a var_name azt az egész változó nevét jelenti, amelyen a balra eltolás (<<) operation is to be performed shift the binary bits at left side. and no_of_position variable represents number of placed or shifted in other words, operator shifts first operand on side by defined second operand.< p>
Például a num egész változó értéke 22, bináris alakja pedig 10110. Most a bal shift operátort használjuk a 2 bináris bitek eltolására, a num = num << 2 egyenlő a num = num * (2 ^2). És a szám új értéke 22* (2 ^ 2) = 88, ami egyenlő az 1011000 bináris alakkal.
1. példa: Program, amely bemutatja a Bal Shift operátor használatát C nyelven
#include int main () { // declare local variable int num; printf (' Enter a positive number: '); scanf (' %d', &num); // use left shift operator to shift the bits num = (num << 2); // It shifts two bits at the left side printf (' After shifting the binary bits to the left side. '); printf (' The new value of the variable num = %d', num); return 0; }
Kimenet
Enter a positive number: 25 After shifting the binary bits to the left side. The new value of the variable num = 100
2. példa: Program a Left Shift operátor használatára a C előjel nélküli int adataiban
#include int main () { // declare local variable unsigned int num = 0xff; // use left shift operator to shift the bits num = (num << 2); printf (' After shifting the binary bits to the left side. '); printf (' The new value of the unsigned variable num = %d', num); return 0; }
Kimenet
After shifting the binary bits to the left side. The new value of the unsigned variable num = 1020
3. példa: Program a felhasználó pozitív számának bevitelére a balra váltás művelet végrehajtásához
#include int main () { // declare local variable int num, bit; printf (' Enter a positive number: '); scanf (' %d', &num); printf (' No. of binary bits shifted to the left side: '); scanf (' %d', &bit); // use left shift operator to shift the bits num = (num << bit); printf (' After shifting the bits to the left side. '); printf (' The new value of the num = %d', num); return 0; }
Kimenet
tömb java metódusokban
Enter a positive number: 40 No. of binary bits shifted to the left side: 4 After shifting the bits to the left side. The new value of the num = 640
A fenti példában a felhasználó által definiált pozitív 40-es szám bináris bitje 101000. Ezután 4-et veszünk számként a bal oldali bináris bitek eltolásához. Ezután a bal oldali eltolás operátor 4 bináris bitet tol el a bal oldalon, majd a jobb oldalon tér keletkezik, amelyet kitölt vagy hozzáad 4 nullával a jobb oldalhoz, ami a 1010000000 bináris értéket adja vissza, ami egyenértékű a tizedesjegy 640.
Jobb váltókezelő
A jobb oldali eltolás operátor egyfajta bitenkénti eltolási operátor, amelyet a bitek jobb oldali mozgatására használnak, és dupla (>>) nyíl szimbólumként ábrázolják. A bal oldali eltolás operátorhoz hasonlóan a jobb oldali eltolás operátorhoz is két operandusra van szükség a bitek jobb oldali eltolásához, majd a bitek eltolása után a nullákat a bal oldalon létrehozott üres helyre szúrja be.
Szintaxis
var_name >> no_of_position
A fenti szintaxisban a var_name azt az egész változót jelenti, amelyen a jobb oldali eltolás (>>) műveletet végre kell hajtani a bináris bitek jobb oldali eltolásához. A no_of_position változó pedig a jobb oldalra helyezendő vagy eltolni kívánt bitek számát jelenti. Más szavakkal, a jobbra eltolási operátor eltolja az első operandus bináris bitjeit a jobb oldalon azáltal, hogy meghatározza a második operandushoz tartozó bitek teljes számát.
1. példa: Program, amely bemutatja a Right Shift operátor használatát C nyelven
karakterlánc elemzése int-re
#include int main () { // declare local variable int num; printf (' Enter a positive number: '); scanf (' %d', &num); // use right shift operator to shift the bits num = (num >> 2); // It shifts two bits at the right side printf (' After shifting the binary bits to the right side. '); printf (' The new value of the variable num = %d', num); return 0; }
Kimenet
Enter a positive number: 25 After shifting the binary bits to the right side. The new value of the variable num = 6
2. példa: Program a Right Shift operátor használatára a C előjel nélküli int adataiban
#include int main () { // declare local variable unsigned int num = 0xff; // use right shift operator to shift the bits num = (num >> 2); printf (' After shifting the binary bits to the right side. '); printf (' The new value of the unsigned variable num = %d', num); return 0; }
Kimenet
After shifting the binary bits to the right side. The new value of the unsigned variable num = 63
3. példa: Program a felhasználó pozitív számának bevitelére a jobbra váltás művelet végrehajtásához
#include int main () { // declare local variable int num, bit; printf (' Enter a positive number: '); scanf (' %d', &num); printf (' No. of binary bits shifted to the right side: '); scanf (' %d', &bit); // use right shift operator to shift the bits num = (num >> bit); printf (' After using the right shift operator to shift the bits at the right side. '); printf (' New value of the num = %d', num); return 0; }
Kimenet
Enter a positive number: 40 No. of binary bits shifted to the right side: 4 After using the right shift operator to shift the bits to the right. The new value of the num = 2
)>