User Tools

A PCRE internal error occured. This might be caused by a faulty plugin

====== 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 //[[CL:Glossary:integer]]//. * //bytespec// - a //[[CL:Glossary:byte specifier]]//. ====Description==== **byte** returns a //[[CL:Glossary:byte specifier]]// that indicates a //[[CL:Glossary:byte]]// of width //size// and whose bits have weights ''2^<sup>(//position// + //size// - 1)</sup>'' through ''2^//position//'', and whose representation is //[[CL:Glossary:implementation-dependent]]//. **byte-size** returns the number of bits specified by //bytespec//. **byte-position** returns the position specified by //bytespec//. ====Examples==== <blockquote> ([[CL:Macros:defparameter]] *b* (byte 100 200)) <r>*B*</r> *b* <r>#<BYTE-SPECIFIER size 100 position 200> </r> (byte-size *b*) <r>100 </r> (byte-position *b*) <r>200</r> </blockquote> ====Affected By==== None. ====Exceptional Situations==== None. ====See Also==== * **[[CL:Functions:ldb|Function LDB]]** * **[[CL:Functions:dpb|Function DPB]]** ====Notes==== <blockquote> (byte-size (byte //j// //k//)) ≡ //j// (byte-position (byte //j// //k//)) ≡ //k// </blockquote> A //[[CL:Glossary:byte]]// of //[[CL:Glossary:size]]// of ''0'' is permissible; it refers to a //[[CL:Glossary:byte]]// of width zero. For example: <blockquote> ([[CL:Functions:ldb]] (byte 0 3) #o7777) → 0 ([[CL:Functions:dpb]] #o7777 (byte 0 3) 0) → 0 </blockquote>