Ergebnis 1 bis 3 von 3

Thema: VB - Fehler bei Binär zu Dezimal

  1. #1
    Azubi(ne)
    Registriert seit
    26.03.2007
    Ort
    Battle.Net
    Beiträge
    83
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard VB - Fehler bei Binär zu Dezimal

    Hi,
    ich verwende Visual Basic 2008 und habe mit meiner Binär zu Dezimal Funktion ein großes Problem.

    Sobald der Binäre Wert zulang wird (und der kann bei mir ziemlich lang werden) wandelt er nichtmehr korrekt in Dezimal um.
    Vielleicht kann mir jemand helfen.

    die Funktion:
    Code:
        Private Function Bin2Dec(ByVal Bin As String) As Long
            ' Von Binaer nach Dezimal umrechnen
            Dim i As Long, lngLen As Long
            lngLen = Len(Bin)                   ' Länge der Binärzahl
            For i = lngLen To 1 Step -1         ' Für jede Stelle die Schleife durchgehen
                Bin2Dec = Bin2Dec + IIf(Mid$(Bin, i, 1) = "1", 2 ^ (lngLen - i), 0)
                ' umrechnen in Dezimal (siehe Erklärung oben)
            Next i
        End Function
    wird aufgerufen über:
    Code:
    ergebnisanzeige.Text = Bin2Dec(Val(TextBox1.Text))
    sind die variablen falsch deklariert oder sowas? Hab leider von VB (noch) nicht soviel ahnung.
    Ich hoffe mir kann jemand helfen
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VB - Fehler bei Binär zu Dezimal

    Salut,

    wie in jeder anderen Programmiersprache hat auch VB2008 (eigentlich .NET, da VB2008 darauf aufbaut) bestimmte Wertebereiche für Datentypen. Du hast in deinem Beispiel Long verwendet. Wenn du in der Programmdokumentation nachschaust, siehst du, dass für Long 8 Bytes reserviert und die größtmögliche Zahl 9.223.372.036.854.775.807 ist. Das ist aber auch schon eine ganz schön große Zahl. Wenn du noch größere Wertebereiche benötigst, musst du tricksen.

    Die Zeile
    Code:
    ergebnisanzeige.Text = Bin2Dec(Val(TextBox1.Text))
    ergibt nur mäßig Sinn, da du den String erst in eine Fließkommazahl konvertierst und dann für Bin2Dec doch wieder einen String erwartest. Daher besser
    Code:
    ergebnisanzeige.Text = Bin2Dec(TextBox1.Text)
    Außerdem solltest du Überbleibsel aus VB6 (Val, Len), nicht mehr verwenden.


    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    26.03.2007
    Ort
    Battle.Net
    Beiträge
    83
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VB - Fehler bei Binär zu Dezimal

    hey danke, jetz geht es endlich.
    ganz ganz liebes dankeschön von mir^^

    hatte schonmal probiert von long auf Decimal umzustellen, doch brachte keinen erfolg.
    ohne das Val() klappt es aber!
    danke!
    Geändert von Telmata (26.11.2008 um 21:32 Uhr)

Ähnliche Themen

  1. Binär-Daten in MySQL speichern und mit PHP auswerten
    Von The User im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 08.10.2008, 22:56
  2. ASCII oder Binär
    Von felixstoessel im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 14.02.2008, 16:28
  3. Binär -und Hexadezimalsystem
    Von chris90night im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 23.11.2007, 00:14
  4. dual-dezimal-hexadezimal umrechner >>PHP<<
    Von dr.zoidberg im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 14.04.2006, 17:49
  5. Fehler in FF und Fehler beim zentrieren
    Von smello im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 16.03.2006, 15:22

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •