'===========================================================================
' Subject: DECIMAL TO BINARY FORMAT           Date: 06-22-96 (14:11)       
'  Author: Jason Laviska                      Code: QB, QBasic, PDS        
'  Origin: jason.laviska@outdoor.com        Packet: BINARY.ABC
'===========================================================================
'Decimal to Binary format by Jason Laviska.
'LaserArts' Library Function B-01-A
'--- Public Domain --- Use at your own risk ---

'This is a simple program that functions just like the Hex$ command
'but outputs your number into a binary format.  The output of Bin$
'will always end up in groups of 4 digits/characters.

CLS
PRINT "Hex           Decimal       Binary"
PRINT "============  ============  ================================"

FOR Temp& = -10 TO 10
  PRINT HEX$(Temp&), Temp&, Bin$(Temp&)
NEXT Temp&

FUNCTION Bin$ (Decimal&)

H$ = HEX$(Decimal&)
Temp$ = ""
FOR A% = 1 TO LEN(H$)
  NextChar$ = MID$(H$, A%, 1)
  NextNum% = INSTR("ABCDEF", NextChar$)
  IF NextNum% <> 0 THEN NextNum% = NextNum% + 9 ELSE NextNum% = VAL(NextChar$)
  BinValue% = 0
  FOR B% = 3 TO 0 STEP -1
    IF 2 ^ B% + BinValue% <= NextNum% THEN
      Temp$ = Temp$ + "1"
      BinValue% = BinValue% + 2 ^ B%
    ELSE
      Temp$ = Temp$ + "0"
    END IF
  NEXT B%
NEXT A%
Bin$ = Temp$

END FUNCTION
