IntegerToBinary (Float function)

From m204wiki
Revision as of 13:42, 19 January 2011 by Dme (talk | contribs)
Jump to navigation Jump to search

Convert an integer to a binary string (Float class)


This intrinsic function converts an integer to its binary string representation. Only integers that convert to a string no longer than four characters are allowed.

The IntegerToBinary function is available as of version 7.3 of the Sirius Mods.

Syntax

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

Syntax terms

%str
A string variable to receive the converted value of the method object number.
number
An integer value. The number must be convertible to a binary string that does not exceed the length specified by the num value.
num
A non-zero numeric value that specifies the length of the binary string to be returned. Its value must be greater than 0 and less than 5.
[Signed=]bool
This name-required argument ('Signed') is a boolean value that indicates whether the method object integer is to be converted to a signed integer. If so, the resulting binary string will begin with a sign bit, and a two's complement conversion is performed. 'Signed' is an optional argument that defaults to 'False', which produces an unsigned conversion.

Usage notes

  • If the specified length of the returned binary string is greater than the binary value, the value is padded on the left with repetitions of the appropriate sign bit.
  • If the specified length of the returned binary string is insufficient to contain the converted value and any necessary sign bit, the request is cancelled.
  • The inverse of the IntegerToBinary method is BinaryToInteger.

Examples

The following statement displays an 'a' character:

   printText {129:integerToBinary(1)}

The following statement displays '??' because the resulting binary string is two non-displayable characters:

   printText {32769:integerToBinary(2)}

To view the hex equivalents of the non-displayable characters above, you can use StringToHex. The following statement The displays '8001'.

   printText {32769:integerToBinary(2):stringToHex}

The following statement displays 'FF7F':

   printText {-129:integerToBinary(2, signed=true):stringToHex}

The following statement displays '0081', a value padded with a positive sign bit:

   printText {129:integerToBinary(2, signed=true):stringToHex}

See also

List of intrinsic Float methods