DIMENSION IBYTE(3) EQUIVALENCE(IBYTE(1),SUME) ZWEI=2.0 HALB=0.5 EINS=1.0 100 READ(1,110) XVAL 110 FORMAT('ZAHL EINGEBEN : ',F12.0) IEXP = 0 SIGN = 1.0 X = XVAL IF(X) 115,300,120 115 X = ABS(X) SIGN = -SIGN 120 IF(X-HALB) 130,200,200 130 X = X * ZWEI IEXP = IEXP - 1 GOTO 120 200 IF(X-EINS) 300,210,210 210 X = X * HALB IEXP = IEXP + 1 GOTO 200 300 SUME = X * SIGN * 2.0 ** IEXP S TAD \IBYTE S AND (4007 S RAL CLL S SZL S TAD (20 S CLL RTL S RAL S DCA \IB1 /S123XXXX K=IBYTE(2) S TAD \K S 7002 S RTR S AND (17 S TAD \IB1 S DCA \IB1 /S1234567 S TAD \K S AND (377 S DCA \IB2 /89012345 K = IBYTE(3) S TAD \K S RTR S RTR S AND (377 S DCA \IB3 /67890123 S TAD \IEXP S AND (377 S DCA \IEX WRITE(1,310) X*SIGN,IEXP,SUME,XVAL-SUME,IB1,IB2,IB3,IEX 310 FORMAT('M : ',F9.6,' E : ',I5,2X,2E16.7,4I6) GOTO 100 END