Sobes.tech
Junior

Πώς μπορούμε να ορίσουμε ένα bit σε 1 χρησιμοποιώντας την bitwise OR;

sobes.tech AI

Απάντηση από AI

Για να ορίσετε ένα συγκεκριμένο bit σε έναν αριθμό σε 1 χρησιμοποιώντας την λογική πράξη OR σε επίπεδο bit, πρέπει να χρησιμοποιήσετε μια μάσκα που έχει 1 στη θέση που θέλετε και 0 στα άλλα.

Για παράδειγμα, για να ορίσετε το bit με αριθμό n (αρίθμηση από το 0, ξεκινώντας από το λιγότερο σημαντικό bit), κάντε το εξής:

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

Εδώ, το 1 << n μετακινεί το 1 στη θέση n, και η πράξη | ορίζει αυτό το bit σε 1 στον αριθμό num, χωρίς να αλλάξει τα άλλα bits.

Παράδειγμα:

int x = 4;      // 0100 σε δυαδική μορφή
int y = setBit(x, 1); // ορίζουμε το bit 1
// y θα είναι 6 (0110)