Aufgabe 1: Bitweises UND

Gegeben sind zwei Ganzzahlen:

int a = 12;   // 1100
int b = 10;   // 1010

Berechne mithilfe einer Bitoperation das bitweise UND von a und b und gib das Ergebnis aus.

Musterlösung: Bitweises UND
#include <stdio.h>

int main() {
    int a = 12;
    int b = 10;

    int result = a & b;
    printf("Ergebnis: %d\n", result);

    return 0;
}

Aufgabe 2: Bitweises ODER

Berechne das bitweise ODER der Zahlen 5 und 3 und gib das Ergebnis aus.

Musterlösung: Bitweises ODER
#include <stdio.h>

int main() {
    int a = 5;   // 0101
    int b = 3;   // 0011

    printf("%d\n", a | b);
    return 0;
}

Aufgabe 3: XOR verstehen

Berechne das bitweise XOR von 9 und 12 und gib das Ergebnis aus.

Musterlösung: XOR verstehen
#include <stdio.h>

int main() {
    int a = 9;   // 1001
    int b = 12;  // 1100

    printf("%d\n", a ^ b);
    return 0;
}

Aufgabe 4: Bit-Negation

Negiere alle Bits einer unsigned char-Variable mit dem Wert 10 und gib das Ergebnis aus.

Musterlösung: Bit-Negation
#include <stdio.h>

int main() {
    unsigned char x = 10;  // 00001010
    unsigned char y = ~x;

    printf("%u\n", y);
    return 0;
}

Aufgabe 5: Bitverschiebung

Verschiebe die Zahl 32 um zwei Bits nach rechts und gib das Ergebnis aus.

Musterlösung: Bitverschiebung
#include <stdio.h>

int main() {
    int x = 32;  // 0010 0000

    printf("%d\n", x >> 2);
    return 0;
}

Aufgabe 6: Einzelnes Bit setzen

Schreibe Code, der in einer Zahl 0 das dritte Bit (von rechts, beginnend bei 0) auf 1 setzt.

Musterlösung: Einzelnes Bit setzen
#include <stdio.h>

int main() {
    int x = 0;
    x = x | (1 << 3);

    printf("%d\n", x);
    return 0;
}

Aufgabe 7: Prüfen, ob ein Bit gesetzt ist

Schreibe ein Programm, das prüft, ob bei einer Zahl n das Bit an Position k gesetzt ist.

Musterlösung: Prüfen, ob ein Bit gesetzt ist
#include <stdio.h>

int main() {
    int n = 10;  // 1010
    int k = 3;

    if (n & (1 << k))
        printf("Bit ist gesetzt\n");
    else
        printf("Bit ist nicht gesetzt\n");

    return 0;
}

Aufgabe 8: Binärdarstellung einer int-Zahl

Schreibe eine Funktion

void printBinary(int x);

die die Binärdarstellung einer int-Zahl ausgibt (z. B. für 5: 00000000000000000000000000000101).

Musterlösung: Binärdarstellung einer int-Zahl
#include <stdio.h>

void printBinary(int x) {
    for (int i = sizeof(int) * 8 - 1; i >= 0; i--) {
        printf("%d", (x >> i) & 1);
    }
    printf("\n");
}

int main() {
    printBinary(5);
    printBinary(22);
    return 0;
}

Nach oben scrollen