FUNCTION NumToBin(num) LOCAL i,num,bin num = BITAND(num,0xFFFFFFFF) bin = "" FOR i=31 TO 0 STEP -1 bin = bin + TRANSFORM(BITAND(BITRSHIFT(num,i),1)) ENDFOR RETURN bin ENDFUNC
PARAMETERS num LOCAL nanswer,nremainder,creturn creturn="" DO WHILE .t. nanswer=INT(num/2) nremainder=MOD(num,2) IF nanswer>1 num=nanswer creturn=TRANSFORM(nremainder)+creturn loop ELSE IF nanswer<1 creturn=TRANSFORM(nremainder)+creturn ELSE creturn=TRANSFORM(nanswer)+TRANSFORM(nremainder)+creturn ENDIF exit ENDIF ENDDO