vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
C# Code rechnet anders als Vb.NET Code? (UInteger) 
Autor: keco
Datum: 28.09.09 13:27

Hallo,

bezieht sich indirekt noch auf das Thema mit dem MD4 Hash. Bei dem C#-Code erhalte ich keinen Überlauf bei einer Berechnung, in dem VB.NET Code allerdings schon. Ich will zwar nicht sagen, dass C# falsch rechnet, aber doch sehr ungewöhnlich das Ganze. Also folgende Funktion mit Zwischenschritten der Berechnung, damit ich das mit dem Debugger nachvollziehen konnte:
      Private Sub FF(ByRef a As UInteger, ByVal b As UInteger, ByVal c As _
        UInteger, ByVal d As UInteger, ByVal x As UInteger, ByVal s As Byte)
         Dim m As UInteger = F(b, c, d)
         Dim n As UInteger = m + x
         Dim o As UInteger = a + n ' <- Hier der Überlauf
 
         a = o
         a = ROL(a, s)
      End Sub
Dabei habe ich folgende Werte:
m = 2562383102
n = 3397032173
a = 1732584193

Dabei ist eigentlich der Überlauf auch zu erwarten, da a + n = 5129616366, UInteger aber nur bis 4294967295 definiert ist. Bei C# habe ich genau die gleichen Werte, allerdings erhalte ich als Ergebnis von a + n = 834649070.

Der C# Code ist folgender:
        private void FF(ref uint a, uint b, uint c, uint d, uint x, byte s)
        {
            uint m = F(b, c, d);
            uint n = m + x;
            uint o = a + n; // <- Hier kein Überlauf
 
            a = o;
            a = ROL(a, s);
        }
Wieso erhalte ich ein anderes Ergebnis bei C#? Werden die Werte anders berechnet oder warum gibt es hier Unterschiede? Für mich ist das gerade ziemlich eigenartig.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
C# Code rechnet anders als Vb.NET Code? (UInteger)1.301keco28.09.09 13:27
Re: C# Code rechnet anders als Vb.NET Code? (UInteger)866sollniss28.09.09 14:11
Re: C# Code rechnet anders als Vb.NET Code? (UInteger)790keco28.09.09 14:54
Re: C# Code rechnet anders als Vb.NET Code? (UInteger)864Christoph197228.09.09 17:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel