Sobes.tech
Junior

Ինչպե՞ս կարելի է սահմանել բիթը 1-ի, օգտագործելով բիթային OR գործողությունը։

sobes.tech AI

Պատասխան AI-ից

Որպես հատուկ բիթը սահմանել 1-ով օգտագործելով բիթային OR գործողությունը, անհրաժեշտ է օգտագործել մասկար, որը ունի 1 ցանկալի դիրքում և մնացած բիթերը 0:

Օրինակ, բիթը n (հաշվարկը սկսվում է 0-ից, սկսած ամենափոքր նշանակության բիթից), սահմանելու համար, անենք հետևյալը:

int setBit(int num, int n) {
    return num | (1 << n);
}

Այստեղ, 1 << n տեղափոխում է 1-ը n դիրք, և | գործողությունը այդ բիթը սահմանում է num թվի մեջ որպես 1, առանց մյուս բիթերի փոփոխության:

Օրինակ՝

int x = 4;      // 0100 բինար ձևով
int y = setBit(x, 1); // սահմանում ենք բիթ 1
// y կլինի 6 (0110)