🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Manipolazione Bit a Bit in C

Codegrind TeamJul 12 2024

Ecco degli esercizi semplici con soluzione per praticare la manipolazione bit a bit in C.

Esercizio 1: Operazione AND Bit a Bit

Eseguire un'operazione AND bit a bit tra due numeri.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int b = 10;  // 1010 in binario
    int risultato = a & b; // 1000 in binario
    printf("Risultato di AND bit a bit: %d\n", risultato);
    return 0;
}

Esercizio 2: Operazione OR Bit a Bit

Eseguire un'operazione OR bit a bit tra due numeri.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int b = 10;  // 1010 in binario
    int risultato = a | b; // 1110 in binario
    printf("Risultato di OR bit a bit: %d\n", risultato);
    return 0;
}

Esercizio 3: Operazione XOR Bit a Bit

Eseguire un'operazione XOR bit a bit tra due numeri.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int b = 10;  // 1010 in binario
    int risultato = a ^ b; // 0110 in binario
    printf("Risultato di XOR bit a bit: %d\n", risultato);
    return 0;
}

Esercizio 4: Operazione di Negazione Bit a Bit

Eseguire un'operazione di negazione bit a bit su un numero.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int risultato = ~a; // ...11110011 in binario (dipende dalla rappresentazione)
    printf("Risultato di negazione bit a bit: %d\n", risultato);
    return 0;
}

Esercizio 5: Operazione di Shift a Sinistra

Eseguire un'operazione di shift a sinistra su un numero.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int risultato = a << 2; // 110000 in binario
    printf("Risultato di shift a sinistra: %d\n", risultato);
    return 0;
}

Esercizio 6: Operazione di Shift a Destra

Eseguire un'operazione di shift a destra su un numero.
#include <stdio.h>

int main() {
    int a = 12;  // 1100 in binario
    int risultato = a >> 2; // 0011 in binario
    printf("Risultato di shift a destra: %d\n", risultato);
    return 0;
}

Esercizio 7: Controllare se un Bit è Impostato

Controllare se il terzo bit (da destra) di un numero è impostato.
#include <stdio.h>

int main() {
    int num = 12; // 1100 in binario
    int bit_position = 2; // Terzo bit (0-indexed)
    int maschera = 1 << bit_position;
    if (num & maschera) {
        printf("Il terzo bit è impostato.\n");
    } else {
        printf("Il terzo bit non è impostato.\n");
    }
    return 0;
}