📢 Nuovo Corso Bootstrap Completo disponibile!

Esercizi Manipolazione Bit a Bit in C

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;
}