CLHS: Function BYTE, BYTE-SIZE, BYTE-POSITION

#

Function BYTE, BYTE-SIZE, BYTE-POSITION

Syntax:

byte size position => bytespec

byte-size bytespec => size

byte-position bytespec => position

Arguments and Values:

size, position---a non-negative integer.

bytespec---a byte specifier.

Description:

byte returns a byte specifier that indicates a byte of width size and whose bits have weights 2^position + size - 1 through 2^position, and whose representation is implementation-dependent.

byte-size returns the number of bits specified by bytespec.

byte-position returns the position specified by bytespec.

Examples:

     (setq b (byte 100 200)) =>  #<BYTE-SPECIFIER size 100 position 200>
     (byte-size b) =>  100
     (byte-position b) =>  200

Affected By: None.

Exceptional Situations: None.

See Also:

ldb, dpb

Notes:

     (byte-size (byte j k)) ==  j
     (byte-position (byte j k)) ==  k

A byte of size of `0` is permissible; it refers to a byte of width zero. For example,

     (ldb (byte 0 3) #o7777) =>  0
     (dpb #o7777 (byte 0 3) 0) =>  0

Copyright 1996-2005, LispWorks Ltd. All rights reserved.