IntegerToHex (Float function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (match syntax diagram to revised template; fix tags and links)
Line 1: Line 1:
{{Template:Float:IntegerToHex subtitle}}
{{Template:Float:IntegerToHex subtitle}}


This [[Intrinsic classes|intrinsic]] function converts an integer to its hexadecimal string representation.
The <var>IntegerToHex</var> <var>[[Intrinsic classes|intrinsic]]</var> 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.
Only integers that convert to four hex bytes or less
(so a maximum output string length of eight) are allowed.


The <var>IntegerToHex</var> function is available as of version 7.5 of the <var class=product>Sirius Mods</var>.
==Syntax==
==Syntax==
{{Template:Float:IntegerToHex syntax}}
{{Template:Float:IntegerToHex syntax}}
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%str</th>
<tr><th>%string</th>
<td>A string variable to receive the converted value of the method object number. </td></tr>
<td>A string variable to receive the converted value of the method object: <var class="term">float</var>. </td></tr>
<tr><th>float</th>
<td>An integer value. The number must be convertible to a hex string that does not exceed the output size specified by the <var class="term">number</var> value (plus a sign bit, if that is indicated).
<p>If <var class="term">number</var> is a negative value, you must specify '<code>Signed=true</code>'. </p></td></tr>
<tr><th>number</th>
<tr><th>number</th>
<td>An integer value. The number must be convertible to a hex string that does not exceed the output size specified by the ''num'' value (plus a sign bit, if that is indicated).
<td>A non-zero numeric value that specifies the number of hex bytes to be returned. Its value must be greater than 0 and less than 5.</td></tr>
<p class="output">If ''number'' is a negative value, you must specify ''''Signed=true''''. </td></tr>
<tr><th>Signed</th>
</p>
<td>This is an optional, but <var class="term">nameRequired</var>, <var>boolean</var> value that indicates whether the method object number is to be converted to signed output or not. If <code>Signed=True</code>, the resulting hex string will begin with a sign bit '<code>00</code>' or '<code>FF</code>'), and a two's complement conversion is performed.
<tr><th>num</th>
<p><var class="term">Signed</var> defaults to '<code>False</code>', which produces an unsigned conversion.</p></td></tr>
<td>A non-zero numeric value that specifies the number of hex bytes to be returned. Its value must be greater than 0 and less than 5. </td></tr>
<tr><th>Signed=bool</th>
<td>This name-required argument (''''Signed'''') is a boolean value that indicates whether the method object number is to be converted to signed output. If so, the resulting hex string will begin with a sign bit ''''00'''' or ''''FF''''), and a two's complement conversion is performed.
<p class="code">Signed is an optional argument that defaults to ''''False'''', which produces an unsigned conversion.</td></tr>
</p>
</table>
</table>
==Usage notes==
==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.
<ul><li>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.
<li>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.
*The inverse of the <var>IntegerToHex</var> method is [[HexToInteger (String function)|HexToInteger]].
<li><var>IntegerToHex</var> is available as of <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.5.</ul>


==Examples==
==Examples==
The following statement displays ''''00000000'''':
<ol><li>The following statement displays '<code>00000000</code>':
<p class="code">[[Intrinsic classes#printtext|printText]] {0:integerToHex(4)}
<p class="code">printText {0:integerToHex(4)}
</p>
</p>
The following statement displays ''''0000000A'''':
<li>The following statement displays '<code>0000000A</code>':
<p class="code">printText {10:integerToHex(4)}
<p class="code">printText {10:integerToHex(4)}
</p>
</p>
The following statement displays ''''FF'''':
<li>The following statement displays '<code>FF</code>':
<p class="code">printText {255:integerToHex(1)}
<p class="code">printText {255:integerToHex(1)}
</p>
</p>
The following statement displays ''''FF'''':
<li>The following statement displays '<code>FF</code>':
<p class="code">printText {-1:integerToHex(1, signed=true)}
<p class="code">printText {-1:integerToHex(1, signed=true)}
</p></ol>


</p>
==See also==
==See also==
<ul><li>The inverse of the <var>IntegerToHex</var> method is <var>[[HexToInteger (String function)|HexToInteger]]</var>.
<li>For details of the <var>printtext</var> statement, please see <var>[[Intrinsic classes#printtext|printText]]</var>.</ul>
{{Template:Float:IntegerToHex footer}}
{{Template:Float:IntegerToHex footer}}

Revision as of 00:27, 4 February 2011

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 hex bytes to be returned. Its value must be greater than 0 and less than 5.
Signed This is an optional, but nameRequired, 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

  • The inverse of the IntegerToHex method is HexToInteger.
  • For details of the printtext statement, please see printText.