vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Fortgeschrittene Programmierung
Re: Rechnen mit großen Zahlen ? 
Autor: Stefan B.
Datum: 26.07.05 08:46

Hallo matten,

wenn es Dir nur um das bitweise UND geht, dann sollte folgender Code funktionieren:
Public Function BIT_AND(IN1 As Currency, IN2 As Currency) As String
Dim Bits(1) As String, OUT As String
Dim count As Long
Bits(0) = ToBin(IN1)
Bits(1) = ToBin(IN2)
 
If Len(Bits(0)) > Len(Bits(1)) Then
   Bits(1) = String(Len(Bits(0)) - Len(Bits(1)), "0") & Bits(1)
Else
   Bits(0) = String(Len(Bits(1)) - Len(Bits(0)), "0") & Bits(0)
End If
OUT = String(Len(Bits(0)), "0")
For count = 1 To Len(Bits(0))
   If Mid(Bits(0), count, 1) = "1" And Mid(Bits(1), count, 1) = "1" Then
      Mid(OUT, count, 1) = "1"
   End If
Next count
BIT_AND = OUT
End Function
 
Private Function ToBin(IN1 As Currency) As String
Dim lValue As Currency
Dim cValue As String, cRest As String
lValue = IN1
While lValue > 0
   lValue = DIV_2(lValue, cRest)
   cValue = cRest & cValue
Wend
ToBin = cValue
End Function
 
Private Function DIV_2(IN1 As Currency, REST As String) As Currency
Dim OUT As Currency
Dim cHelper As String
OUT = IN1 / CCur(2)
If OUT < 1 Then
   OUT = 0
   REST = 1
Else
   cHelper = CStr(OUT)
   If Right$(cHelper, 2) = ",5" Then
      cHelper = Left$(cHelper, Len(cHelper) - 2)
      OUT = CCur(cHelper)
      REST = "1"
   Else
      OUT = CCur(cHelper)
      REST = "0"
   End If
End If
DIV_2 = OUT
End Function
Der folgende Aufruf
Debug.Print BIT_AND(CCur(587473352323#), CCur(4294967295#))
liefert dann dies Ergebnis
0000000011001000001000111111011010000011

Ich hoffe, dies hilft Dir ein wenig weiter.
Ansonsten gab es hier vor kurzem einen Workshop
Der Gebrauch des Datentyps DECIMAL

Gruß
Stefan
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Rechnen mit großen Zahlen ?913matten25.07.05 12:07
Re: Rechnen mit großen Zahlen ?650ScheinTod25.07.05 15:44
Re: Rechnen mit großen Zahlen ?568Stefan B.26.07.05 08:46

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