>clear >?"binary, 32 bits" >li=739207 >li=DNaBIN(li,2,32) >?li >li=BINnaD(li,2) >?li > > >?"hexa, 8 digits" >li=739207 >li=DNaBIN(li,16,8) >?li >li=BINnaD(li,16) >?li > >?"okta, 12 digits" >li=739207 >li=DNaBIN(li,8,12) >?li >li=BINnaD(li,8) >?li > >********************************************************************* >* 1996 >* Convert decimal number to 2-16 >* >********************************************************************* >PROCED DnaBIN >PARAM dcislo,binsous,binformat >private hcislo,itcislo,zcislo,rcislo,dcislo,binsou,binformat >private znak > >dime znak(16) >znak(1)='0' >znak(2)='1' >znak(3)='2' >znak(4)='3' >znak(5)='4' >znak(6)='5' >znak(7)='6' >znak(8)='7' >znak(9)='8' >znak(10)='9' >znak(11)='A' >znak(12)='B' >znak(13)='C' >znak(14)='D' >znak(15)='E' >znak(16)='F' > > >hcislo='' >itcislo=2 >do while itcislo>0 > itcislo=int(dcislo/binsous) > zcislo=iif(itcislo<1,dcislo,dcislo%binsous) > hcislo=znak(zcislo+1)+hcislo > dcislo=itcislo >enddo >rcislo=binformat-len(hcislo) >rcislo=iif(rcislo<0,0,rcislo) >hcislo=repl('0',rcislo)+hcislo >return hcislo > >********************************************************************* >* >* Convert from 2-16 to decimal >* >********************************************************************* >PROCED BINnaD >PARAM bincislo,dsous >private ddelka,icount,zkde,expo,ycount,expocis,dcislo,bincislo,dsous >private znak >dime znak(16) >znak(1)='0' >znak(2)='1' >znak(3)='2' >znak(4)='3' >znak(5)='4' >znak(6)='5' >znak(7)='6' >znak(8)='7' >znak(9)='8' >znak(10)='9' >znak(11)='A' >znak(12)='B' >znak(13)='C' >znak(14)='D' >znak(15)='E' >znak(16)='F' > >bincislo=allt(bincislo) >ddelka=len(bincislo) >dcislo=0 >for icount=ddelka to 1 step -1 > zkde=ascan(znak,subs(bincislo,icount,1)) > expo=ddelka-icount > expocis=1 > for ycount=1 to expo > expocis=dsous*expocis > next > dcislo=dcislo+expocis*(zkde-1) >next > >return dcislo > >>
>>>>A number like >>>>739207 >>>>convert to >>>>10110100011110000111 >>>>convert back to >>>>739207 >>>>>>>>