forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
CVSMBF
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
The CVDMBF function decodes a 4-byte STRING generated by MKSMBF$ (or read from a file) to SINGLE numeric values.
result! = CVSMBF(stringData$)
- CV functions (CVD, CVS, CVI, CVL, CVDMBF, CVSMBF) are used to convert values encoded by MK$ functions (MKD$, MKS$, MKI$, MKL$, MKDMBF$, MKSMBF$).
- QB64 has _CV and _MK$ functions which can also deal with extended Data types.
- SINGLE values can range up to 7 decimal point digits. Decimal point accuracy depends on whole value places taken.
Showcases the reduced space to store an encoded number.
a! = 700.2213
PRINT "Value of a!:"; a!
b$ = MKSMBF$(a!)
PRINT "Value of a! encoded using MKSMBF$: "; b$
PRINT "The string above, decoded using CVSMBF:"; CVDMBF(b$)
Value of a!: 700.2213
Value of a# encoded using MKSMBF$: *♫/è
The string above, decoded using CVSMBF: 700.2213
Since the representation of a double-precision number can use up to 7 ASCII characters (seven bytes), writing to a file using MKSMBF$ conversion, and then reading back with the CVSMBF conversion can save up to 3 bytes of storage space.