| 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) |