! Metodos Numericos y Simulaciones en Astrofisica
! FCEFN - UNSJ, 2010
!
! permite representar dos numeros reales como potencias de 2
! sumarlos y restarlos
!
!
program prueba
implicit none
  integer :: ii
  integer, dimension(40,2) :: bina
  real, dimension(40) :: pot
  real :: vp,vs,vp0,vs0
  real :: v1,v2,v3,v4

  bina=0
  do ii=1,40
    pot(ii)=2.**(10.-real(ii))
  enddo

  write(*,*)'Ingrese el primer numero: '
  read(*,*)vp
  write(*,*)'Ingrese el segundo numero: '
  read(*,*)vs
  v1=vp+vs
  v2=vp-vs

  vp0=0.
  vs0=0.

  do ii=1,40
    if(pot(ii) <= vp)then
      vp=vp-pot(ii)
      vp0=vp0+pot(ii)
      bina(ii,1)=1
    endif
    if(pot(ii) <= vs)then
      vs=vs-pot(ii)
      vs0=vs0+pot(ii)
      bina(ii,2)=1
    endif
    write(*,'(i3,g27.20,a,2i3)')(10-ii),pot(ii),': ',bina(ii,1),bina(ii,2)
  enddo

  write(*,*)' '
  write(*,*)vp0
  write(*,*)vs0

  write(*,*)'Suma: ',v1
  write(*,*)'Resta:',v2
end program prueba
