  | 
		
HP OpenVMS DCL Dictionary
 
 
F$CVUI
 
Extracts bit fields from character string data and converts the result 
to an unsigned number.
 
 
Format
F$CVUI (start-bit,number-of-bits,string)
  
Return Value
 
The integer equivalent of the extracted bit field, converted as an 
unsigned value.
 
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.
 
 
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.
  
  
 |