Sharpsign Asterisk (ANSI and GNU Common Lisp Document)

Next: Examples of Sharpsign Asterisk, Previous: Sharpsign Left-Parenthesis, Up: Sharpsign

#### 2.4.8.4 Sharpsign Asterisk

Syntax: `#*<<bits>>`

A simple bit vector is constructed containing the indicated bits (`0`’s and `1`’s), where the leftmost bit has index zero and the subsequent bits have increasing indices.

Syntax: `#<<n>>*<<bits>>`

With an argument n, the vector to be created is of length n. If the number of bits is less than n but greater than zero, the last bit is used to fill all remaining bits of the bit vector.

The notations `#*` and `#0*` each denote an empty bit vector.

Regardless of whether the optional numeric argument n is provided, the token that follows the asterisk is delimited by a normal token delimiter. However, (unless the value of *read-suppress* is true) an error of type reader-error is signaled if that token is not composed entirely of `0`’s and `1`’s, or if n was supplied and the token is composed of more than n bits, or if n is greater than one, but no bits were specified. Neither a single escape nor a multiple escape is permitted in this token.

For information on how the Lisp printer prints bit vectors, see Printing Bit Vectors.