AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mathematisches Problem (mod?)

Ein Thema von braingrenade · begonnen am 21. Nov 2003 · letzter Beitrag vom 21. Nov 2003
Antwort Antwort
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#1

mathematisches Problem (mod?)

  Alt 21. Nov 2003, 14:27
Moin Leute !

Ich hab hier ein kleines Problem :

Ich will zu einer zufallszahl (rand.val) vom typ Cardinal einen word wert (i2) hinzuaddieren,
soweit kein Problem , aber wie kann ich jetzt das Ergenbnis diese addition so verändern das ich das ganze in eine Word Variable kriege und wie kann ich später aus diesem Ergebnis
mit hilfe von rand.val wieder i2 rausfinden ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#2

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 14:52
also an sich kannst du einfach schreiben

wor: word;
card: cardinal;

wor:=card;

wenn card > max von wor dann stellt sich die Frage nach dem Sinn card in wor speichern zu wollen...es passt halt net!
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 14:59
axo meinst du das ganze dann codiert abzuspeichern?

wenn card=123.456.789 dann

wor:= 1,23456789 * 10^8 ? dat geht allerdings mit integer werten net!

dann könnte z.B.:

wor:=18234 sein.

Stelle 1 = 1: erste Zahl
Stelle 2 = 8: Anzahl der Stellen der Zahl -1
Stelle 3- : Die folgenden Zahlen nach der 1. Stelle

war glaub ich umständlich ausgedrückt oder?
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#4

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 15:14
Hallo braingrenade,

weil Du von einem "mathematischen Problem" und vom Restklassenoperator mod sprichst, gehe ich davon aus, dass Du kein Problem mit Delphi hast.

Zunächst einmal gilt
Code:
(a + b) mod c = ((a mod c) + b) mod c
oder in anderen Worten für Dein Beispiel: Es hat keinen Effekt ob Du einen Datentyp Cardinal oder Word als Zufallszahlverwendest.

Wenn ich Dich richtig verstanden habe, besteht das eigentliche Problem in der Rekonstruktion der bekannten Zahl b aus der Zufallszahl a unter Verwendung eines beliebigen Exemplars d der Restklasse a+b mod c bei bekanntem c, also
Code:
(a+b) mod c = d
Du kennst also a (den Zufallswert), c (hier wg des Datentyps Word, 2^16) und den errechneten Wert d.


Vielleicht wird das Ganze in einem "vertrauten Umfeld" deutlich:

Angenommen die beliebigte Zahl a sei 42 und die bekannte Zahl b sei 9. Weiterhin wolltest Du Restklassen zu c mit c=10 bilden, dann wäre ein beliebiges Exemplar d der Restklasse 42+9 mod 10 zB 1. Oder anders ausgedrückt: Die letzte Ziffer der Summe 42+9 im Dezimalsystem ist eine 1.
Die Frage, die Du gestellt hast, lautet nun: Wie kommst Du von 1 unter Zuhilfenahme von 42 wieder auf eine 9? (Tipp: Betrachte nur die letzten Stellen, also 1 und 2. Schließlich betrachtest Du mit c=10 nur die letzte Stelle im Dezimalsystem).
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 16:59
Erstmal danke für die schnellen Antworten !

@ choose:
hmm..., mal kucken :
Wenn ich z.b a := 42 b := 25 c := 10 habe dann ist d:=(a+b) mod c also d := 7,
dann ist d - einervon(a) = 7 - 2 = 5 , dann hab ich schon mal die erste stelle von b , aber wie komm ich dann auf die zehner ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 17:16
Zitat von braingrenade:
Wenn ich z.b a := 42 b := 25 c := 10 habe dann ist d:=(a+b) mod c also d := 7,
dann ist d - einervon(a) = 7 - 2 = 5 , dann hab ich schon mal die erste stelle von b , aber wie komm ich dann auf die zehner ?
Hallo braingrenade,

aus Deiner Eingansfrage
Zitat von braingrenade:
Ich will zu einer zufallszahl [...] einen word wert [...] hinzuaddieren, [...] aber wie kann ich jetzt das Ergenbnis [...] so verändern das ich das ganze in eine Word Variable kriege [...]und wie kann [...] aus diesem Ergebnis mit hilfe von [der Zufallszahl] wieder [den Wortwert] rausfinden ?
habe ich geschlossen, dass
Code:
0<=b<c  =>  b mod c = (b+n*c) mod c
gilt. In anderen Worten: "b hat weder einen Zehner noch einen Hunderter...".
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#7

Re: mathematisches Problem (mod?)

  Alt 21. Nov 2003, 17:19
aso , b kann jede Zahl im ganzen Word bereich sein.
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz