diff --git a/doc/efun/next_bit b/doc/efun/next_bit
new file mode 100644
index 0000000..31fb90a
--- /dev/null
+++ b/doc/efun/next_bit
@@ -0,0 +1,32 @@
+SYNOPSIS
+        int next_bit(string str, int start);
+        int next_bit(string str, int start, int find_cleared);
+
+BESCHREIBUNG
+        Liefert den Zahlenwert des naechsten Bits im Bitstring <bit> nach
+        der Position <start>. Gewoehnlich ist dies das naechste gesetzte
+        Bit, aber wenn <find_cleared> angegeben und nicht 0 ist, wird
+        die Postion des naechsten geloeschten Bits zurueck gegeben.
+
+        Dabei ist das Finden von geloeschten Bits nach dem letzten gesetzten
+        Bit auf die tatsaechliche Laenge von <str> beschraenkt.
+
+        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).
+
+BEISPIEL
+        string s;
+        int p;
+
+        s = set_bit("", 4); s = set_bit(s, 2);
+
+        for (p = -1; -1 != (p = next_bit(s, p); )
+            write(p+"\n");
+
+        --> das gibt 2 und 4 aus.
+
+SIEHE AUCH
+        set_bit(E), clear_bit(E), test_bit(E), last_bit(E), count_bits(E),
+        and_bits(E), or_bits(E), xor_bits(E), invert_bits(E), copy_bits(E)
