forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
OCT$
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
The OCT$ function returns the base-8 octal representation of an INTEGER, LONG or _INTEGER64 value as a STRING.
result$ = OCT$(number)
- 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 OCT$ function returns the octal (base-8) representation of number.
- number can be any integer value.
- No leading space is returned.
- VAL can convert octal string values to decimal when the "&O" prefix is added.
Outputs all of the decimal, hexadecimal and octal digits:
LOCATE 2, 20: PRINT " Decimal | Hexadecimal | Octal "
LOCATE 3, 20: PRINT "---------+-------------+-------"
template$ = " ## | \\ | ## "
FOR n% = 0 TO 15
LOCATE 4 + n%, 20: PRINT USING template$; n%; HEX$(n%); VAL(OCT$(n%))
NEXT n%
Note: The actual octal value is converted by VAL directly back to a numerical value by not using the "&H" prefix.
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
Example 2: Converting a octal value to decimal.
octvalue$ = OCT$(255)
PRINT "Oct: "; octvalue$
PRINT "Converting Oct value to Decimal:"; VAL("&O" + octvalue$)
Oct: 377
Converting Oct value to Decimal: 255