IntegerToHex (Float function)

From m204wiki
Revision as of 21:30, 7 August 2012 by JAL2 (talk | contribs)
Jump to navigation Jump to search

Convert an integer to a hexadecimal string (Float class)


The IntegerToHex intrinsic function converts an integer to its hexadecimal string representation. Only integers that convert to four hex bytes or less (so a maximum output string length of eight) are allowed.

Syntax

%string = float:IntegerToHex( number, [Signed= boolean])

Syntax terms

%string A string variable to receive the converted value of the method object: float.
float An integer value. The number must be convertible to a hex string that does not exceed the output size specified by the number value (plus a sign bit, if that is indicated).

If number is a negative value, you must specify 'Signed=true'.

number A non-zero numeric value that specifies the number of bytes to be returned in hexadecimal format (two characters for each byte). The value must not be greater than 4.
Signed This is an optional, name required, Boolean value that indicates whether the method object number is to be converted to signed output or not. If Signed=True, the resulting hex string will begin with a sign bit '00' or 'FF'), and a two's complement conversion is performed.

Signed defaults to 'False', which produces an unsigned conversion.

Usage notes

  • If the specified size of the returned hex value is greater than the hex value, the returned value is padded on the left with repetitions of the appropriate sign bit.
  • If the specified size of the returned hex value is insufficient to contain the converted value and any necessary sign bit, the request is cancelled.
  • IntegerToHex is available as of Sirius Mods Version 7.5.

Examples

  1. The following statement displays '00000000':

    printText {0:integerToHex(4)}

  2. The following statement displays '0000000A':

    printText {10:integerToHex(4)}

  3. The following statement displays 'FF':

    printText {255:integerToHex(1)}

  4. The following statement displays 'FF':

    printText {-1:integerToHex(1, signed=true)}

See also