! hexadecimal notation PROGRAM ex7_1 IMPLICIT NONE INTEGER :: dec, i CHARACTER(LEN=1)::h(0:15) = (/ '0','1','2','3','4','5','6','7', & '8','9','a','b','c','d','e','f' /) CHARACTER(LEN=8) :: hex ext: DO hex = ' ' PRINT '(1X, A)', 'Input a positive integer, or 0 to stop: ' READ *, dec IF ( dec <= 0 ) EXIT ext hxd: DO i = 0, 7 hex(8-i:8-i) = h(MOD( dec, 16 )) dec = dec / 16 IF ( dec == 0 ) EXIT hxd END DO hxd PRINT '(1X, A8)', hex END DO ext END PROGRAM ex7_1