mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-16 12:04:06 +00:00
aeb9c0668b
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
83 lines
3.3 KiB
Text
83 lines
3.3 KiB
Text
{{QBDLDATE:05-20-2022}}
|
|
{{QBDLTIME:23:06:39}}
|
|
{{DISPLAYTITLE:_BIN$}}
|
|
This function returns the binary (base 2) representation of any numeric value.
|
|
|
|
|
|
{{PageSyntax}}
|
|
: {{Parameter|binvalue$}} = [[_BIN$]]({{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}}
|
|
* The function returns the base 2 (binary) 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 bin string value back to a decimal value by prefixing the string with "[[&B]]".
|
|
** Eg. {{InlineCode}}decimal = VAL("&B" + binvalue$){{InlineCodeEnd}}.
|
|
|
|
|
|
{{PageAvailability}}
|
|
* '''QB64 2.1 and up''' (QB64 Team)
|
|
* '''QBPE 0.5 and up''' (QB64 Phoenix Edition)
|
|
|
|
|
|
{{PageExamples}}
|
|
;Example 1:Comparing decimal, hexadecimal, octal and binary string values from 0 to 15.
|
|
{{CodeStart}}
|
|
tabletop$ = " Decimal | Hexadecimal | Octal | Binary "
|
|
tablesep$ = "---------+-------------+-------+--------"
|
|
tableout$ = " \ \ | \\ | \\ | \ \ " 'the PRINT USING template
|
|
|
|
{{Cl|LOCATE}} 2, 10: {{Cl|PRINT}} tabletop$
|
|
{{Cl|LOCATE}} 3, 10: {{Cl|PRINT}} tablesep$
|
|
{{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}}
|
|
;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}}
|
|
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}}
|
|
|
|
|
|
;Example 2:Converting a binary value to decimal.
|
|
{{CodeStart}}
|
|
binvalue$ = {{Cl|_BIN$}}(255)
|
|
{{Cl|PRINT}} "Bin: "; binvalue$
|
|
{{Cl|PRINT}} "Converting Bin value to Decimal:"; {{Cl|VAL}}("&B" + binvalue$)
|
|
{{CodeEnd}}
|
|
{{OutputStart}}
|
|
Bin: 11111111
|
|
Converting Bin value to Decimal: 255
|
|
{{OutputEnd}}
|
|
|
|
|
|
{{PageSeeAlso}}
|
|
* [[HEX$]], [[OCT$]], [[STR$]], [[VAL]]
|
|
* [[&B]] {{text|(binary)}}, [[&H]] {{text|(hexadecimal)}}, [[&O]] {{text|(octal)}}
|
|
* [[Base Comparisons]]
|
|
|
|
|
|
{{PageNavigation}}
|
|
|