program test_spacing implicit none real(4) :: r4 real(8) :: r8 integer(4) :: i4 real(8) :: esp, dig, rad r8 = 1 do while ( r8 /= 0.0d0 ) print*," Introdurre un numero reale:" read(*,*) r8 esp = EXPONENT(r8) dig = DIGITS(r8) rad = RADIX(r8) print*," RRSPACING(",r8,") = ",RRSPACING(r8), & abs(r8*(rad**(-esp)))*rad**dig print*," SPACING(",r8,") = ",SPACING(r8), & rad**(esp-dig) r4 = r8 esp = EXPONENT(r4) dig = DIGITS(r4) rad = RADIX(r4) print*," RRSPACING(",r4,") = ",RRSPACING(r4), & abs(r4*(rad**(-esp)))*rad**dig print*," SPACING(",r4,") = ",SPACING(r4), & rad**(esp-dig) end do end program test_spacing