[Gambas-user] binary numeral system

Jeff jeff at ...2103...
Tue Apr 14 14:52:59 CEST 2009


Gah - you just beat me :-)

Mine is as follows. Interesting to see different styles/solutions:

PRIVATE FUNCTION myBin(binString AS String) AS Long
  
  DIM i AS Integer
  DIM length AS Integer
  DIM binResult AS Long = 0
  
  length = Len(binString)
  
  FOR i = length TO 1 STEP -1
    binResult = binResult + CInt(Mid(binString, i, 1)) * Exp2(length -
i)
  NEXT 

  RETURN binResult  
END




On Tue, 2009-04-14 at 14:24 +0200, Emil Tchekov wrote:
> Just checked the gambas online documentation.
> 
> The TextBox does have "CHANGE" event - thus it is possible to make converter
> wich reacts on each additional letter typed
> 
> as example here my "fast shoot" maded in VB6 - very simple and without error
> handling (BUT WORKING!)
> 
> 
> Private Sub txtBin_Change()
>     Dim StrBin As String
> 
>     StrBin = Me.txtBin
> 
>     If StrBin <> "" Then
> 
>         Me.lblDec.Caption = CStr(dec(StrBin))
> 
>     Else
> 
>         Me.lblDec.Caption = "n.a."
> 
>     End If
> 
> End Sub
> 
> 
> Private Function dec(ByVal StrBin As String) As Long
>     Dim i As Integer
>     Dim l As Integer
>     Dim c As String
> 
> 
> 
>     l = Len(StrBin)
> 
>     dec = 0
> 
>     For i = 1 To l
> 
>         c = Mid(StrBin, i, 1)
> 
>         If c = "1" Then
>             dec = dec + 2 ^ (l - i)
>         End If
> 
>     Next i
> 
> End Function
> 
> 
> 
> very best regards
> 
> Emil
> 
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Simonart Dominique [mailto:simonart.dominique at ...11...]
> Gesendet: Dienstag, 14. April 2009 14:04
> An: mailing list for gambas users
> Betreff: Re: [Gambas-user] binary numeral system
> 
> 
> vlahonick vlahonick a écrit :
> >
> > hello all :D
> >
> > i am trying to create a program that calculates a number from the binary
> numeral system and gives a result
> >
> > example of what the program will do :
> >
> > we have the number (at binary numeral system) 10011
> >
> > so to have result we have to do (1*2^4)+(0*2^3)+(0*2^2)+(1*2^1)+(1*2^0)=
> > 16+0+0+2+1=19
> >
> > to do that in a program first i have to calculate the powers
> > so i have to write (y=number of digits) for the first of the digits
> y-1,second y-2etc
> >
> > so if i have 5 digits then the power for the first one will be y-1=5-1=4
> >
> > this is done by the Len(textbox1.text)
> >
> > but HOW i will write Len(textbox1.text)=y ?????
> >
> > then how i can make the program to recognize that for the 1st digit
> entered in the Textbox1.text have to
> > give (d*2^y-1) (d=the digit that can be 0 or 1 and y the number of the
> digits) for the second (d*2^y-2)etc...
> >
> > so the main question is how i can make JUST ONE TEXTBOX to understand that
> for every digits enter it will give something else for a result
> >
> > sorry about my english but it has been long time since i had english
> lessons...
> > plz if u dont understand something let me know and i will try to explain
> better...
> > if you want to contact me directly :tsopanotragi at ...67... |
> vlahonick at ...626... | chris at ...2135...
> >
> > thanks in advance Vlahonick (all the truth is always in
> www.vlahonick.freehost.gr)
> >
> > _________________________________________________________________
> > News, entertainment and everything you care about at Live.com. Get it now!
> > http://www.live.com/getstarted.aspx
> > --------------------------------------------------------------------------
> ----
> > 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 at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> 
> Hi Vlahonick,
> 
> I'm not sure to understand exactly what you want to do!
> 1) If you want to convert a bynary number to decimal value,
> you just have to write in Gambas exactly what you sayd in
> your message! :)
> 2) If you want to display the changing decimal value as soon
> as you enter a binary digit, this is not possible because
> you don't know what WILL be the final length of the binary
> number!
> 
> For the 1) comprehension, here is an exemple (I took a
> TextArea because I want to start a new line in the text)
> 
> 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
> 
> Hope I understand you!
> Dominique Simonart
> 
> 
> ----------------------------------------------------------------------------
> --
> 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
> 
> 
> ------------------------------------------------------------------------------
> 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
> 





More information about the User mailing list