Sobes.tech
Junior

Чӣ гуна метавон битро бо истифода аз амалиёти OR дар сатҳи бит ба 1 гузошт?

sobes.tech AI

Ҷавоб аз AI

Барои муайян кардани бит дар як рақам ба 1 бо истифода аз амалиёти OR дар сатҳи бит, бояд маскаеро истифода барем, ки дар ҷойгоҳи лозим 1 дорад ва дар дигар ҷойҳо 0.

Масалан, барои муайян кардани бит бо рақами n (рақамгузорӣ аз 0, аз бити камтар аҳамиятнок оғоз мешавад), чунин мекунем:

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

Ин ҷо, 1 << n якро ба ҷойгоҳи n кӯчонида, ва амалиёт | ин битро дар рақам num ба 1 мегузорад, бидуни тағир додани дигар битҳо.

Масалан:

int x = 4;      // 0100 дар шакли дуӣ
int y = setBit(x, 1); // муайян кардани бит 1
// y хоҳад буд 6 (0110)