forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
HEX$
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
The HEX$ function returns the base 16 hexadecimal representation of an INTEGER, LONG or _INTEGER64 value as a STRING.
result$ = HEX$(decimalNumber)
- 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.
- The function returns the string hexadecimal (base-16) representation of decimalNumber.
- The function does not return a leading sign space so LTRIM$ is not necessary.
-
VAL can convert the string value back to a decimal value by prefixing the string return with "&H":
dec = VAL("&H" + hexvar$)
.
Comparing decimal, hexadecimal and octal string values 0 to 15.
LOCATE 2, 20: PRINT " Decimal | Hexadecimal | Octal "
LOCATE 3, 20: PRINT "-----------+-------------+--------"
template$ = " \ \ | \\ | \\ "
FOR n% = 0 TO 15
LOCATE 4 + n%, 20: PRINT USING template$; STR$(n%); HEX$(n%); OCT$(n%)
NEXT n%
Decimal | Hexadecimal | Octal
---------+-------------+-------
0 | 0 | 0
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
4 | 4 | 4
5 | 5 | 5
6 | 6 | 6
7 | 7 | 7
8 | 8 | 10
9 | 9 | 11
10 | A | 12
11 | B | 13
12 | C | 14
13 | D | 15
14 | E | 16
15 | F | 17
Note: Decimal STR$ values contain a leading sign space so values require an extra space in the template using the slash format.
Converting hex value to decimal.
h$ = HEX$(255)
PRINT "Hex: "; h$
PRINT "Converting Hex value to Decimal:"; VAL("&H" + h$)
Hex: FF
Converting Hex value to Decimal: 255
- OCT$, STR$, VAL
- &H (hexadecimal), &O (octal), &B (binary)
- Base Comparisons
- HEX$ 32 Bit Values