VMS Help
Lexicals, F$CVUI

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    Extracts bit fields from character string data and converts the
    result to an unsigned number.

    Format

      F$CVUI(start-bit,number-of-bits,string)

  1 - Return Value

    The integer equivalent of the extracted bit field, converted as
    an unsigned value.

  2 - Arguments

 start-bit

    Specifies the offset of the first bit to be extracted. The
    low-order (rightmost) bit of a string is position number 0
    for determining the offset. Specify the offset as an integer
    expression.

    If you specify an expression with a negative value, or with a
    value that exceeds the number of bits in the string, DCL displays
    the INVRANGE error message.

 number-of-bits

    Specifies the length of the bit string to be extracted, which
    must be less than or equal to the number of bits in the string
    argument.

    If you specify an expression with a negative value, or with a
    value that is invalid when added to the bit position offset, DCL
    displays the INVRANGE error message.

 string

    Specifies the character string to be edited.

  3 - Example

  $ A[0,32] = %X2B
  $ SHOW SYMBOL A
    A = "+..."
  $ X = F$CVUI(0,4,A)
  $ SHOW SYMBOL X
    X = 11   Hex = 0000000B  Octal = 00000000013

      This example uses an arithmetic overlay to assign the
      hexadecimal value 2B to all 32 bits of the symbol A. The
      symbol A has a string value after the overlay because it was
      previously undefined. (If a symbol is undefined, it has a
      string value as a result of an arithmetic overlay. If a symbol
      was previously defined, it retains the same data type after
      the overlay.) The hexadecimal value 2B corresponds to the ASCII
      character "+".

      Next, the F$CVUI function extracts the low-order 4 bits
      from the symbol A; the low-order 4 bits contain the binary
      representation of the hexadecimal value B. These bits are
      converted, as a signed value, to an integer. The converted
      value, 11, is assigned to the symbol X.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.