La función I2Bin(n) de harbour o CA-CLIPPER dice que devuelve una cadena de caracteres de 16 bits en formato binario, pero no lo hace, siempre me devuelve vacio. Se que su aplicación es con ficheros, pero en este caso la necesito para hacer un analisis bit x bit de lo que devuelve una función que maneja status de un controlador fiscal.
Hay alguna función que lo haga? Que dado
512 me devuelva '0000001000000000' ?
Yo hice una pequeña función para hacerlo, pero me gustaria saber si hay alguna de FW o Harbour que lo haga...
- Code: Select all Expand view
? Fi_I2Bin(512,16) //-->'0000001000000000'
? Fi_I2Bin(2,4) //-->'0010'
STATIC FUNCTION Fi_I2Bin (nDecimal,nBits)
LOCAL binario
DEFAULT nBits := 0
IF nDecimal <= 1
binario := str(nDecimal,1)
ELSE
binario := Fi_I2Bin(INT(nDecimal*.5)) + STR(nDecimal%2,1)
ENDIF
RETURN IF(nBits==0,binario,REPLICATE("0",nBits-Len(binario))+binario)