SYNOPSIS
        string clear_bit(string str, int n);

BESCHREIBUNG
        Gibt einen neuen String zurueck, in dem das n-te Bit im String <str>
        nicht gesetzt ist. Dabei wird <str> selbst nicht veraendert.

        Jedes Zeichen enthaelt sechs Bits. So kann in jedem Zeichen eine Zahl
        zwischen 0 und 63 (2^6=64) gespeichert werden. Das erste Zeichen ist
        der Leerschlag " " mit Wert 0. Das erste Zeichen im String ist jenes
        mit den niedrigsten Bits (0 bis 5).

BEISPIELE
        string s;
        s = clear_bit("_", 5);

        Weil "_" den hoechsten moeglichen Wert enthaelt (63), enthaelt die
        Variable s nun das Zeichen "?", das dem Wert 31 entspricht (63-2^5=31).

        string s;
        s = clear_bit("?<",3);
        s = clear_bit(s, 8);

        s enthaelt nun den String "78". "?" entspricht dem Wert 31 und "<" dem
        Wert 28. "?<" entspricht also dem Wert 31+28<<6=31+1792=1823, was in
        Binaerschreibweise (hoechstes Bit rechts) 11111000111 ergibt. Werden
        aus dieser Zahl die Bits 3 und 8 (die Nummerierung beginnt mit dem
        0. Bit) ergibt dann: 11101000011. Die ersten 6 Bits 010111 sind in
        Dezimalschreibweise 23. Die zweiten 6 Bits (0)11000 ergeben 24 in
        Dezimalschreibweise. Nun entspricht der Wert 23 dem Zeichen "7" und
        der Wert 24 dem Zeichen "8". Der String s enthaelt also "78".

SIEHE AUCH
        set_bit(E), next_bit(E), last_bit(E), test_bit(E), count_bits(E),
        and_bits(E), or_bits(E), xor_bits(E), invert_bits(E), copy_bits(E)
