Decimal a Binario en ABAP

Continuando con los programas sin mucho sentido…Que les parece un Decimal a Binario en ABAP…Dudo mucho que alguna vez lo necesiten, pero bueno, un pequeño código nunca está de más -;)

REPORT ZDECIMAL_A_BINARIO.

DATA: SUMA TYPE I,
EXPONENTE TYPE I,
DIGITO TYPE I,
SUMA_TEXT(50) TYPE C.

SELECTION-SCREEN BEGIN OF BLOCK DEC_TO_BIN WITH FRAME.
PARAMETERS:
P_NUMERO TYPE I.
SELECTION-SCREEN END OF BLOCK DEC_TO_BIN.

START-OF-SELECTION.

SUMA = 0.
EXPONENTE = 1.

CATCH SYSTEM-EXCEPTIONS ARITHMETIC_ERRORS = 5.
WHILE P_NUMERO GT 0.
DIGITO = P_NUMERO MOD 2.
P_NUMERO = P_NUMERO DIV 2.
SUMA = SUMA + DIGITO * EXPONENTE.
EXPONENTE = EXPONENTE * 10.
ENDWHILE.
ENDCATCH.

IF SY-SUBRC = 5.
WRITE / ‘Número demasiado grande!’.
ELSE.
SUMA_TEXT = SUMA.
REPLACE ‘.’ WITH SPACE INTO SUMA_TEXT.
REPLACE ‘,’ WITH SPACE INTO SUMA_TEXT.
CONDENSE SUMA_TEXT NO-GAPS.

WRITE: ‘El numero binario es: ‘, SUMA_TEXT.
ENDIF.

Saludos,

Blag.

Leave a Comment

Cerrar
E-mail It