SYNOPSIS
        string or_bits(string str1, string str2)

BESCHREIBUNG
        <str1> und <str2> sind beides Bitstrings. Das Resultat von or_bits()
        ist ein Bitstring, der das binaere Oder von <str1> und <str2>
        enthaelt, d.h. ein String, in dem ein Bit gesetzt ist, wenn es
        in <str1> oder <str2> oder in beiden gesetzt ist.

        Jedes Zeichen enthaelt 6 Bits. In jedem Zeichen kann deshalb eine
        Zahl von 0 bis 63 gespeichert werde (2^6=64). Das erste Zeichen
        ist der Leerschlag " " mit dem Wert 0. Das erste Zeichen im String
        ist jenes mit den niedrigsten Bits (0-5).

BEISPIELE
        string s1, s2, s3;

        s1 = set_bit("", 3); s1 = set_bit(s1, 15);  -> s1 is "( ("
        s2 = set_bit("", 3); s2 = set_bit(s2, 4);   -> s2 is "8"

        s3 = or_bits(s1, s2);

        -> s3 is now "8 (", ie. a bitstring with bits 3, 4 and 15 set.

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