| SYNOPSIS |
| string clear_bit(string str, int n) |
| |
| DESCRIPTION |
| Return the new string where bit n is cleared in string str. |
| Note that the old string str is not modified. |
| |
| Each character contains 6 bits. So you can store a value |
| between 0 and 63 ( 2^6=64) in one character. Starting |
| character is the blank character " " which has the value 0. |
| The first charcter in the string is the one with the lowest |
| bits (0-5). |
| |
| EXAMPLES |
| string s; |
| s=clear_bit("_",5); |
| |
| Because "_" is the highest possible value (63), the variable s |
| will now contain the charcter "?" wich is equal to 31 |
| (63-2^5=31). |
| |
| string s; |
| s=clear_bit("?<",3); |
| s=clear_bit(s,8); |
| |
| s will now contain the string "78". "?" equals 31 and "<" |
| equals 28. Now "?<" is equal to 31+28<<6=31+1792=1823 which is |
| in binary notation (highest bit on the right side) |
| 11111000111. Now clearing the bit 3 and bit 8 (bit numbering |
| starts with zero) will result in 11101000011. The first 6 bits |
| are in decimal notation 23 and the next 6 are equal to 24. Now |
| the 23 is the character "7" and 24 is the "8". So the string s |
| contains "78". |
| |
| SEE ALSO |
| 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) |