IntegerToBinary (Float function)
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.
IntegerToBinary syntax
%str = number:IntegerToBinary(num, [Signed=bool])
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