AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi 2 Integerwerte in einem Integerwert reversibel speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

2 Integerwerte in einem Integerwert reversibel speichern?

Ein Thema von PeterPanino · begonnen am 10. Aug 2007 · letzter Beitrag vom 12. Aug 2007
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 17:26
Vielen Dank an alle für die fundierten Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 17:32
Zitat von sirius:
Gestern noch 8bit und heute sind wir schon beim 32bit Prozessor. Damit ist die Grenze nicht mehr bei 128, sondern bei 32768.
Du meinst wohl "Gestern noch 16bit, heute sind wir schon beim 32bit Prozessor"
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 17:40
er meinte tatsächlich 8 bezogen auf die Grenze von 128 welche eben die Mitte wäre bei 8bit-unsigned
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 17:42
Zitat von idontwantaname:
Du meinst wohl "Gestern noch 16bit, heute sind wir schon beim 32bit Prozessor"
Ich dachte damit an den KC87, den man in Thüringen sicherlich auch kannte

@sir: Hagen meinte aber wie ich "signed". Ich wollte cuh gar nicht darauf weiter rumreiten. Ich musste bei Hagens Beitrag nur schmunzeln.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Polynom

Registriert seit: 1. Jun 2007
Ort: Markdorf
17 Beiträge
 
Delphi 2007 Professional
 
#15

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 18:36
Hallo !
Ich hab auch noch eine Idee, allerdings eher mathematisch und ich weiß nicht genau ob es funktioniert.

Man hat also seine 2 Zahlen, welche ganzzahlig sind und positiv sein müssen.
Jetzt nimmt man eine Primzahlen-Liste und nummeriert die Primzahlen (Im Programm könnte man das z.B. durch einen Array lösen).
Die zu den beiden Zahlen dazugehörigen Primzahlen werden miteinander multipliziert und man erhält eine Zahl.

Da ich denke, dass es etwas schlecht erklärt ist gibt's hier ein kleines Beispiel:
Die beiden Zahlen seien 4 und 6.
Primzahl-Liste:
Nr 1 -> 2
Nr 2 -> 3
Nr 3 -> 5
Nr 4 -> 7
Nr 5 -> 11
Nr 6 -> 13

Daraus folgt, dass man 7 und 13 miteinander multiplizieren muss. Das Ergebnis: 91
Die 91 wäre dann die Zahl, welche ausgegeben wird.

Und über Primfaktorzerlegung müsste man die ursprünglichen Primzahlen wieder herausfinden, welche dann anhand der Liste wieder in die Ausgangszahlen umgewandelt werden können.
Ich bin mir nur nicht sicher ob das Ergebnis eindeutig ist, oder ob es noch eine zweite Möglichkeit gibt...

Mit freundlichen Grüßen, Michael
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 18:51
Primfaktorzerlegung ist eindeutig, das Verfahren wäre theoretisch also machbar.
Das Problem dabei ist, dass die zugeordneten Primzahlen unverhältnismäßig groß würden und man so durch die Zusammenführung der beiden Werte nichts gewinnen würde.
Außerdem dauert die Primfaktorzerlegung einfach zu lang(der Grund, weshalb RSA nicht geknackt werden kann). Und beim Suchen der x-ten Primzahl verhält sich das genauso(Natürlich in beiden Fällen erst bei Zahlen bestimmter Größenordnungen)
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#17

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 19:20
Und ausserdem kannst Du nicht sagen, welches die erste und welches die zweite Zahl war.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#18

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 21:37
Ich meinte garnicht Bit, sondern beschrieb in pseudo-Mathematik den Sachverhalt so das der pfiffige Fragesteller eigentlich selbst in der Lange sein müsste das auf 8Bit,16,32,64 oder meintewegen auch 1024 Bit, mit oder ohne Vorzeichen, zusammenzureimen.

Es ist egal wieviel Bit man als Datentyp hat, die Fragestellung war

"wie kann man zwei Ganzzahlen, programmierdeutsch Integer, so kombinieren das man sie in einer anderen Zahl kodiert".

Nun, dazu wählt man eine neue Zahlenbasis die so groß ist das alle seine zu kombinierenden Zahlen da rein passen. Dann multipliziert man seine zusammenzubauenden Zahlen mit Potenzen zu dieser Basis.

Möchte man zb. 3 solcher Zahlen zwischen 0 bis 127 in eine Zahl packen wählen wir die Basis 128.

R := A * 128^2 + B * 128^1 + C * 128^0;

Und das beste daran ? Ganz einfache Mathemtik Klasse 4 oder 5 spätestens. Denn so funktionieren unsere Zahlen.

Mag sich jetzt belehrerisch und arrogant anhören, vielleicht sogar sarkastisch, aber so ist es.

Wir als Programmierer gewöhnen uns es allzuschnell an in unserer Sprache ein simples Problem zu beschreiben. Dabei benutzen wir aber garnicht die Basis der Informatik als Sprache, also die Mathematik, sondern wie Straßenjungen den Dialekt unserer Programmiersprache. Ich nehme mich da nicht aus in keinster Weise. Aber bestimmte Sachverhalte, eben wie die Zahlensysteme, müssen echt sitzen bei uns.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#19

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 21:56
Zitat:
Die zu den beiden Zahlen dazugehörigen Primzahlen werden miteinander multipliziert und man erhält eine Zahl.
Also du meinst das so ?

12 = 2*2*3
20 = 2*2*5

2*2*2*2*3*5 = 12 * 20

2*2*2*3 = 24
2*5 = 10

2*2*2*2*3*5 = 10 * 24

Gruß Hagen
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 22:19
Nein. Er meinte, das die 12. und die 20. Primzahl miteinander multipliziert werden. Dann ist es selbstverständlich eindeutig (natürlich nicht bezüglich p*q=q*p). Allerdings werden die Zahlen sehr schnell sehr groß.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 13:30 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