Next: , Previous: , Up: Bit Strings [Contents][Index]


9.2 Selecting Bit String Components

procedure: bit-string? object

Returns #t if object is a bit string; otherwise returns #f.

procedure: bit-string-length bit-string

Returns the length of bit-string.

procedure: bit-string-ref bit-string k

Returns #t if the kth bit is 1; otherwise returns #f. K must be a valid index of bit-string.

procedure: bit-string-set! bit-string k

Sets the kth bit in bit-string to 1 and returns an unspecified value. K must be a valid index of bit-string.

procedure: bit-string-clear! bit-string k

Sets the kth bit in bit-string to 0 and returns an unspecified value. K must be a valid index of bit-string.

procedure: bit-substring-find-next-set-bit bit-string start end

Returns the index of the first occurrence of a set bit in the substring of bit-string from start (inclusive) to end (exclusive). If none of the bits in the substring are set #f is returned. The index returned is relative to the whole bit string, not substring.

The following procedure uses bit-substring-find-next-set-bit to find all the set bits and display their indexes:

(define (scan-bitstring bs)
 (let ((end (bit-string-length bs)))
 (let loop ((start 0))
 (let ((next
 (bit-substring-find-next-set-bit bs start end)))
 (if next
 (begin
 (write-line next)
 (if (< next end)
 (loop (+ next 1)))))))))

Next: Cutting and Pasting Bit Strings, Previous: Construction of Bit Strings, Up: Bit Strings [Contents][Index]

AltStyle によって変換されたページ (->オリジナル) /