🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Operatori Bitwise C++

Codegrind Team•Jul 12 2024

Ecco degli esercizi semplici con soluzione per praticare l’utilizzo degli operatori bitwise in C++.

Esercizio 1: Operatore AND Bitwise

Utilizzare l'operatore `&` per eseguire un'operazione AND bit a bit tra due numeri.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int b = 10; // 1010 in binario
    int risultato = a & b; // 1000 in binario
    std::cout << "Risultato di a & b: " << risultato << std::endl; // 8 in decimale
    return 0;
}

Esercizio 2: Operatore OR Bitwise

Utilizzare l'operatore `|` per eseguire un'operazione OR bit a bit tra due numeri.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int b = 10; // 1010 in binario
    int risultato = a | b; // 1110 in binario
    std::cout << "Risultato di a | b: " << risultato << std::endl; // 14 in decimale
    return 0;
}

Esercizio 3: Operatore XOR Bitwise

Utilizzare l'operatore `^` per eseguire un'operazione XOR bit a bit tra due numeri.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int b = 10; // 1010 in binario
    int risultato = a ^ b; // 0110 in binario
    std::cout << "Risultato di a ^ b: " << risultato << std::endl; // 6 in decimale
    return 0;
}

Esercizio 4: Operatore NOT Bitwise

Utilizzare l'operatore `~` per eseguire un'operazione NOT bit a bit su un numero.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int risultato = ~a; // 0011 in binario (inverting all bits)
    std::cout << "Risultato di ~a: " << risultato << std::endl; // -13 in decimale (2's complement representation)
    return 0;
}

Esercizio 5: Operatore Shift a Sinistra

Utilizzare l'operatore `<<` per eseguire uno shift a sinistra su un numero.
#include <iostream>

int main() {
    int a = 3; // 0011 in binario
    int risultato = a << 2; // 1100 in binario
    std::cout << "Risultato di a << 2: " << risultato << std::endl; // 12 in decimale
    return 0;
}

Esercizio 6: Operatore Shift a Destra

Utilizzare l'operatore `>>` per eseguire uno shift a destra su un numero.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int risultato = a >> 2; // 0011 in binario
    std::cout << "Risultato di a >> 2: " << risultato << std::endl; // 3 in decimale
    return 0;
}

Esercizio 7: Uso di AND Bitwise per Controllare un Bit

Utilizzare l'operatore `&` per controllare se il terzo bit di un numero è 1.
#include <iostream>

int main() {
    int a = 12; // 1100 in binario
    int mask = 1 << 2; // 0100 in binario
    bool risultato = a & mask;
    std::cout << "Il terzo bit di a è 1: " << std::boolalpha << risultato << std::endl; // true
    return 0;
}

Esercizio 8: Uso di OR Bitwise per Impostare un Bit

Utilizzare l'operatore `|` per impostare il secondo bit di un numero a 1.
#include <iostream>

int main() {
    int a = 10; // 1010 in binario
    int mask = 1 << 1; // 0010 in binario
    int risultato = a | mask; // 1010 | 0010 = 1010 in binario
    std::cout << "Risultato di a con il secondo bit impostato: " << risultato << std::endl; // 10 in decimale
    return 0;
}

Esercizio 9: Uso di XOR Bitwise per Invertire un Bit

Utilizzare l'operatore `^` per invertire il quarto bit di un numero.
#include <iostream>

int main() {
    int a = 10; // 1010 in binario
    int mask = 1 << 3; // 1000 in binario
    int risultato = a ^ mask; // 1010 ^ 1000 = 0010 in binario
    std::cout << "Risultato di a con il quarto bit invertito: " << risultato << std::endl; // 2 in decimale
    return 0;
}

Esercizio 10: Uso di NOT Bitwise per Invertire Tutti i Bit

Utilizzare l'operatore `~` per invertire tutti i bit di un numero.
#include <iostream>

int main() {
    int a = 5; // 0101 in binario
    int risultato = ~a; // 1010 in binario (inverting all bits)
    std::cout << "Risultato di ~a: " << risultato << std::endl; // -6 in decimale (2's complement representation)
    return 0;
}