HEX$: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
(Created page with "The HEX$ function returns the base 16 hexadecimal representation of an INTEGER, LONG or _INTEGER64 value as a STRING. {{PageSyntax}} :{{Parameter|result$}} = HEX$({{Parameter|decimalNumber}}) {{PageDescription}} * The function returns the string hexadecimal (base-16) representation of {{Parameter|decimalNumber}}. * The function does not return a leading sign space so LTRIM$ is not necessary. <!-- Confusing hack hidden: * Can be used in pla...") |
No edit summary Tag: Manual revert |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This function returns the hexadecimal (base 16) representation of any numeric value. | |||
{{PageSyntax}} | {{PageSyntax}} | ||
:{{Parameter| | : {{Parameter|hexvalue$}} = [[HEX$]]({{Parameter|number}}) | ||
{{PageParameters}} | |||
* {{Parameter|number}} can be any [[INTEGER]], [[LONG]] or [[_INTEGER64]] value, positive or negative. | |||
* {{Parameter|number}} can also be any [[SINGLE]], [[DOUBLE]] or [[_FLOAT]] value, but only the integer part of the value is converted in that case. That is, from the value ''-123.45'' the function would convert the ''-123'' only. | |||
{{PageDescription}} | {{PageDescription}} | ||
* The function returns the | * The function returns the base 16 (hexadecimal) representation of the given {{Parameter|number}} as [[STRING]]. | ||
* | * Different from [[STR$]], this function does not return a leading sign placeholder space, so no [[LTRIM$]] to strip that space from positive numbers is necessary. | ||
* [[VAL]] can convert the returned hex string value back to a decimal value by prefixing the string with "[[&H]]". | |||
* [[VAL]] can convert the string value back to a decimal value by prefixing the string | ** Eg. {{InlineCode}}decimal = {{Cl|VAL}}("&H" + hexvalue$){{InlineCodeEnd}}. | ||
{{PageExamples}} | {{PageExamples}} | ||
;Example 1:Comparing decimal, hexadecimal, octal and binary string values from 0 to 15. | |||
{{CodeStart}} | {{CodeStart}} | ||
tabletop$ = " Decimal | Hexadecimal | Octal | Binary " | |||
tablesep$ = "---------+-------------+-------+--------" | |||
tableout$ = " \ \ | \\ | \\ | \ \ " 'the PRINT USING template | |||
FOR n% = 0 TO 15 | {{Cl|LOCATE}} 2, 10: {{Cl|PRINT}} tabletop$ | ||
{{Cl|LOCATE}} 3, 10: {{Cl|PRINT}} tablesep$ | |||
NEXT n% | {{Cl|FOR...NEXT|FOR}} n% = 0 {{Cl|TO}} 15 | ||
{{Cl|LOCATE}} 4 + n%, 10: {{Cl|PRINT USING}} tableout$; {{Cl|STR$}}(n%); {{Cl|HEX$}}(n%); {{Cl|OCT$}}(n%); {{Cl|_BIN$}}(n%) | |||
{{Cl|NEXT}} n% | |||
{{CodeEnd}} | {{CodeEnd}} | ||
;Note:Although the decimal numbers 0-15 have a maximum width of 2 digits only, an extra space in the ''tableout$'' template is needed when using the (fixed width string) slash output format, as [[STR$]] values contain a leading sign placeholder space. | |||
{{OutputStart}} | {{OutputStart}} | ||
Decimal | Hexadecimal | Octal | Binary | |||
---------+-------------+-------+-------- | |||
0 | 0 | 0 | 0 | |||
1 | 1 | 1 | 1 | |||
2 | 2 | 2 | 10 | |||
3 | 3 | 3 | 11 | |||
4 | 4 | 4 | 100 | |||
5 | 5 | 5 | 101 | |||
6 | 6 | 6 | 110 | |||
7 | 7 | 7 | 111 | |||
8 | 8 | 10 | 1000 | |||
9 | 9 | 11 | 1001 | |||
10 | A | 12 | 1010 | |||
11 | B | 13 | 1011 | |||
12 | C | 14 | 1100 | |||
13 | D | 15 | 1101 | |||
14 | E | 16 | 1110 | |||
15 | F | 17 | 1111 | |||
{{OutputEnd}} | {{OutputEnd}} | ||
;Example 2:Converting a hexadecimal value to decimal. | |||
{{CodeStart}} | {{CodeStart}} | ||
hexvalue$ = {{Cl|HEX$}}(255) | |||
{{Cl|PRINT}} "Hex: "; | {{Cl|PRINT}} "Hex: "; hexvalue$ | ||
{{Cl|PRINT}} "Converting Hex value to Decimal:"; {{Cl|VAL}}("&H" + | {{Cl|PRINT}} "Converting Hex value to Decimal:"; {{Cl|VAL}}("&H" + hexvalue$) | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{OutputStart}} | {{OutputStart}} | ||
Hex: FF | Hex: FF | ||
Line 61: | Line 67: | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[ | * [[_BIN$]], [[OCT$]], [[STR$]] | ||
* [[&H]] | * [[&B]] (binary), [[&H]] (hexadecimal), [[&O]] (octal), [[VAL]] | ||
* [[Base Comparisons]] | * [[Base Comparisons]] | ||
* [[HEX$ 32 Bit Values]] | * [[HEX$ 32 Bit Values]] | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 17:27, 25 November 2022
This function returns the hexadecimal (base 16) representation of any numeric value.
Syntax
- hexvalue$ = HEX$(number)
Parameters
- number can be any INTEGER, LONG or _INTEGER64 value, positive or negative.
- number can also be any SINGLE, DOUBLE or _FLOAT value, but only the integer part of the value is converted in that case. That is, from the value -123.45 the function would convert the -123 only.
Description
- The function returns the base 16 (hexadecimal) representation of the given number as STRING.
- Different from STR$, this function does not return a leading sign placeholder space, so no LTRIM$ to strip that space from positive numbers is necessary.
- VAL can convert the returned hex string value back to a decimal value by prefixing the string with "&H".
- Eg. decimal = VAL("&H" + hexvalue$).
Examples
- Example 1
- Comparing decimal, hexadecimal, octal and binary string values from 0 to 15.
tabletop$ = " Decimal | Hexadecimal | Octal | Binary " tablesep$ = "---------+-------------+-------+--------" tableout$ = " \ \ | \\ | \\ | \ \ " 'the PRINT USING template LOCATE 2, 10: PRINT tabletop$ LOCATE 3, 10: PRINT tablesep$ FOR n% = 0 TO 15 LOCATE 4 + n%, 10: PRINT USING tableout$; STR$(n%); HEX$(n%); OCT$(n%); _BIN$(n%) NEXT n% |
- Note
- Although the decimal numbers 0-15 have a maximum width of 2 digits only, an extra space in the tableout$ template is needed when using the (fixed width string) slash output format, as STR$ values contain a leading sign placeholder space.
Decimal | Hexadecimal | Octal | Binary ---------+-------------+-------+-------- 0 | 0 | 0 | 0 1 | 1 | 1 | 1 2 | 2 | 2 | 10 3 | 3 | 3 | 11 4 | 4 | 4 | 100 5 | 5 | 5 | 101 6 | 6 | 6 | 110 7 | 7 | 7 | 111 8 | 8 | 10 | 1000 9 | 9 | 11 | 1001 10 | A | 12 | 1010 11 | B | 13 | 1011 12 | C | 14 | 1100 13 | D | 15 | 1101 14 | E | 16 | 1110 15 | F | 17 | 1111 |
- Example 2
- Converting a hexadecimal value to decimal.
hexvalue$ = HEX$(255) PRINT "Hex: "; hexvalue$ PRINT "Converting Hex value to Decimal:"; VAL("&H" + hexvalue$) |
Hex: FF Converting Hex value to Decimal: 255 |
See also
- _BIN$, OCT$, STR$
- &B (binary), &H (hexadecimal), &O (octal), VAL
- Base Comparisons
- HEX$ 32 Bit Values