// --------------------------------- //
// Project: Binary test
// Start: Thursday, October 16, 2008
// IDE Version: 5.360
LOCAL a, b, c
a = 0x7fff7fff
b = BNOT(a)
DEBUG "Org dec: " + a + " Hex: " + DecToHex$(a) + "\n"
DEBUG "Not dec: " + b + " Hex: " + DecToHex$(b) + "\n"
DEBUG "Org bin: " + DecToBin$(a) + "\n"
DEBUG "Not bin: " + DecToBin$(b) + "\n"
DEBUG "Expected: " + "10000000000000001000000000000000"
END
FUNCTION DecToHex$: d
LOCAL h$, t
WHILE d <> 0
t = BAND(d, 0xF)
d = INTEGER(d / 16)
IF t >= 0 AND t <= 9
h$ = CHR$(ASC("0") + t) + h$
ELSE
h$ = CHR$(ASC("A") + (t-10)) + h$
ENDIF
WEND
IF LEN(h$)=0 THEN h$ = "0"
RETURN h$
ENDFUNCTION
FUNCTION DecToBin$: d
LOCAL h$, t
WHILE d <> 0
t = BAND(d, 0x1)
d = INTEGER(d / 2)
IF t >= 0 AND t <= 1
h$ = CHR$(ASC("0") + t) + h$
ENDIF
WEND
IF LEN(h$)=0 THEN h$ = "0"
RETURN h$
ENDFUNCTION