### 9.4 Bitwise Operations on Bit Strings ¶

procedure: bit-string-zero? bit-string ¶

  Returns `#t` if bit-string contains only 0 bits; otherwise returns `#f`.

procedure: bit-string=? bit-string-1 bit-string-2 ¶

  Compares the two bit string arguments and returns `#t` if they are the same length and contain the same bits; otherwise returns `#f`.

procedure: bit-string-not bit-string ¶

  Returns a newly allocated bit string that is the bitwise-logical negation of bit-string.

procedure: bit-string-movec! target-bit-string bit-string ¶

  The destructive version of `bit-string-not`. The arguments target-bit-string and bit-string must be bit strings of the same length. The bitwise-logical negation of bit-string is computed and the result placed in target-bit-string. The value of this procedure is unspecified.

procedure: bit-string-and bit-string-1 bit-string-2 ¶

  Returns a newly allocated bit string that is the bitwise-logical “and” of the arguments. The arguments must be bit strings of identical length.

procedure: bit-string-andc bit-string-1 bit-string-2 ¶

  Returns a newly allocated bit string that is the bitwise-logical “and” of bit-string-1 with the bitwise-logical negation of bit-string-2. The arguments must be bit strings of identical length.

procedure: bit-string-or bit-string-1 bit-string-2 ¶

  Returns a newly allocated bit string that is the bitwise-logical “inclusive or” of the arguments. The arguments must be bit strings of identical length.

procedure: bit-string-xor bit-string-1 bit-string-2 ¶

  Returns a newly allocated bit string that is the bitwise-logical “exclusive or” of the arguments. The arguments must be bit strings of identical length.

procedure: bit-string-and! target-bit-string bit-string ¶
procedure: bit-string-or! target-bit-string bit-string ¶
procedure: bit-string-xor! target-bit-string bit-string ¶
procedure: bit-string-andc! target-bit-string bit-string ¶

  These are destructive versions of the above operations. The arguments target-bit-string and bit-string must be bit strings of the same length. Each of these procedures performs the corresponding bitwise-logical operation on its arguments, places the result into target-bit-string, and returns an unspecified result.