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-2024
 
zurück

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

VB.NET - Fortgeschrittene
Re: .NET und die sehr großen Zahlen 
Autor: Preisser
Datum: 03.09.11 12:40

Hallo,

Tomahawk schrieb:
Zitat:

die
Grenzen des Taschenrechners habe ich noch nicht
ausgereizt...aber dieses Ergebnis
1,0597021063087308977720495167035e+9230 habe ich eben mal mit
230768^1721 ausrechnen lassen und es kommt dicht ran.

Ich glaube, dir fehlen da einige Grundlagen.
Eine solche angezeigte Zahl hat nicht wirklich 9000 Stellen, sondern es werden nur eine bestimmte Anzahl an Ziffern gespeichert (Mantisse), sowie um wieviel Stellen das Komma verschoben werden muss (daher der Name "Gleitkommazahl"). Eine Double beispielsweise besteht aus 1 Vorzeichenbit, 52 Mantissenbits sowie 11 Bits für die Charakteristika. Gleitkomazahlen sind somit nicht exakt, sondern stellen den Wert nur ungefähr da (siehe auch hier).
Ganzzahlen dagegen sind exakt, haben aber eben nur einen bestimmten Wertebereich, der sich aus der Anzahl der verwendeten Bits ergibt. Ein Long z.B. besteht aus 64 Bits, also kann es 2^64 Werte darstellen (durch Verwendung des Zweier-Komplements ergibt das einen Wertebereich von -2^63 bis +2^63-1).

Das hat eigenltich nichts damit zu tun, dass .Net damit überfordert wäre, sondern das liegt an den in den Prozessor eingebauten Zahlentypen. BigInteger kann zwar mit beliebig großen Zahlen rechnen, das ist aber langsamer als die Standard-Zahlentypen (vor allem, wenn mit sehr großen Zahlen gerechnet wird).

Ich kann mir allerdings auch nicht vorstellen, dass bei irgend einer Verschlüsselung solch große Zahlen entstehen würden.
Für die Berechnung (a^b mod n) mit großen b, wie sie bei RSA anfallen kann, verwendet man die von Snof beschriebene Technik (bzw. mit einer Abwandlung, dass man die erhaltenen Zahlen quadriert, damit weniger Schleifendurchläufe nötig sind), sodass die Zahlen erst gar nicht so groß werden können.

Beitrag wurde zuletzt am 03.09.11 um 13:33:12 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
.NET und die sehr großen Zahlen2.159Tomahawk02.09.11 14:43
Re: .NET und die sehr großen Zahlen1.582Preisser02.09.11 14:49
Re: .NET und die sehr großen Zahlen1.588ModeratorDaveS02.09.11 15:13
Re: .NET und die sehr großen Zahlen1.468ModeratorFZelle02.09.11 15:41
Re: .NET und die sehr großen Zahlen1.513Snof02.09.11 22:27
Re: .NET und die sehr großen Zahlen1.468Tomahawk03.09.11 12:20
Re: .NET und die sehr großen Zahlen1.537Preisser03.09.11 12:40
Re: .NET und die sehr großen Zahlen1.610Preisser03.09.11 15:30
Re: .NET und die sehr großen Zahlen1.436ModeratorDaveS03.09.11 16:52
Re: .NET und die sehr großen Zahlen1.451Preisser03.09.11 17:02
Re: .NET und die sehr großen Zahlen1.454ModeratorDaveS03.09.11 17:33
Re: .NET und die sehr großen Zahlen1.470Preisser03.09.11 19:06

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-2024 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