On Tuesday 14 April 2009, Simonart Dominique wrote: > PUBLIC SUB Button1_Click() > DIM S AS String > DIM i, y, N AS Integer > > S = TextArea1.Text > y = Len(S) > if y = 0 THEN RETURN > N = 0 > FOR i = 1 to y > d = Val(Mid(S, i, 1)) ' I assume that d is 0 or 1 > N += d * (2 ^ (y-i)) > NEXT > TextArea1.Text &= "\nBinary " & S & " = decimal " & Str(N) > END >
function bin2dec(sBin) as long dim r as long r=0 for i= 1 to len(sBin) r = r*2 + Val(Mid(sBin, i, 1)) next return r end > PUBLIC SUB Button1_Click() > TextArea1.Text = "\nBinary " & TextArea1.Text & " = decimal " & > bin2dec(TextArea1.Text) > END for 10011 as sBin the sequence is as follows: r*2=0 +1 = 1 r*2=2 +0 = 2 r*2=4 +0 = 4 r*2=8 +1 = 9 r*2=18 +1 =19 I does not matter the size of input string. The only limit is r should of apropiate type to hold the result. Multiply is faster as Power Best regards, Ron_1st ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user