codebase(3f) - [M_strings:BASE] convert whole number in base 10 to string in base [2-36] (LICENSE:PD)
Synopsis
Description
Options
Returns
Examples
Author
License
logical function codebase(in_base10,out_base,answer,uc)
integer,intent(in) :: in_base10 integer,intent(in) :: out_base character(len=*),intent(out) :: answer logical,intent(in),optional :: uc
Convert a number from base 10 to base OUT_BASE. The function returns [char46]FALSE. if OUT_BASE is not in the range [2..36] or if number IN_BASE10 is too big.The letters A,B,...,Z represent 10,11,...,36 in the base > 10.
in_base10 whole number to convert to an alternate base out_base the desired base of the output answer the input value converted to a string representing the original number IN_BASE10 in base OUT_BASE. uc returned letters are uppercase if .true., lowercase if .false.
Returns .true. if no error occurred, else returns .false. .
Sample program:
program demo_codebase use M_strings, only : codebase implicit none character(len=20) :: answer integer :: i, j logical :: ierr do j=1,100 do i=2,36 ierr=codebase(j,i,answer) write(*,*)VALUE=,j, BASE=,i, ANSWER=,answer enddo enddo end program demo_codebase
John S. Urban
Ref.: "Math matiques en Turbo-Pascal by M. Ducamp and A. Reverchon (2), Eyrolles, Paris, 1988".based on a F90 Version By J-P Moreau (www.jpmoreau.fr)
Public Domain
Nemo Release 3.1 | codebase (3m_strings) | January 10, 2025 |