blob: 31fb90a2c9c812bdc59ce5ec5fb1c2411afd4a5b [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 int next_bit(string str, int start);
3 int next_bit(string str, int start, int find_cleared);
4
5BESCHREIBUNG
6 Liefert den Zahlenwert des naechsten Bits im Bitstring <bit> nach
7 der Position <start>. Gewoehnlich ist dies das naechste gesetzte
8 Bit, aber wenn <find_cleared> angegeben und nicht 0 ist, wird
9 die Postion des naechsten geloeschten Bits zurueck gegeben.
10
11 Dabei ist das Finden von geloeschten Bits nach dem letzten gesetzten
12 Bit auf die tatsaechliche Laenge von <str> beschraenkt.
13
14 Jedes Zeichen enthaelt 6 Bits. In jedem Zeichen kann deshalb eine
15 Zahl von 0 bis 63 gespeichert werde (2^6=64). Das erste Zeichen
16 ist der Leerschlag " " mit dem Wert 0. Das erste Zeichen im String
17 ist jenes mit den niedrigsten Bits (0-5).
18
19BEISPIEL
20 string s;
21 int p;
22
23 s = set_bit("", 4); s = set_bit(s, 2);
24
25 for (p = -1; -1 != (p = next_bit(s, p); )
26 write(p+"\n");
27
28 --> das gibt 2 und 4 aus.
29
30SIEHE AUCH
31 set_bit(E), clear_bit(E), test_bit(E), last_bit(E), count_bits(E),
32 and_bits(E), or_bits(E), xor_bits(E), invert_bits(E), copy_bits(E)