Hey an alle Mathematikgenies,
ich hatte mir die Tage mal Gedanken über die Zusammenführung von Zahlen gedacht. So zu sagen aus 2 mach 1. Was ja eigentlich kein Problem ist. Zahl 1 + Zahl 2.
Doch was mache ich, wenn ich aus der einen Zahl wieder die beiden nehmen will. ( Dass ganze ging so in die Richtung der Kompression. )
Selbst dass zurückführen ist noch leicht zu realisieren. Ich stelle dass ganze mal in Bytes da.
Reduzieren
Spoiler anzeigen
Expandieren
Spoiler anzeigen
Dass funktioniert eigentlich wie gewollt. Nun muss ich diese nach dem Reduzieren auf einen Wert zwischen 0 und max 255 beschränken, da ich beim Reduzieren 2er Werte die schon mal zusammen geführt worden sind bei 2 Stelligen Millionwerte lande.
Nun habe ich bestimmte Eigenschaften/Möglichkeiten
Der Maximale Betrag von 2 Bytes ist demnach 255*(255+1)+255= 65.535
Dass ist so weit richtig, da ich diesen brauche wenn ich die 2 Bytes wieder raus finden möchte. Doch wenn ich diese so speichern würde, dann würde ich natürlich 16 Bits benötigen. Da bin ich dann wieder bei meinen 2 Bytes von jeweils 8 Bit Länge. Ich habe demnach nichts verkleinert, lediglich zusammengeführt, doch die Größe bleibt ja die Selbe.
Hoffe ihr versteht meinen Denkansatz
Wenn ich dass alles versuchen würde in einer Frage zu verpacken dann würde die vermutlich so aussehen : Gibt es eine Mathematische Möglichkeit, mit der ich eine Zahl, die den Wert 65535 nie überschreitet auf einen Wert zwischen 0 und 255 beschränken zu können, mit dem Ziel die Ursprüngliche Zahl wieder aus dieser Grenze zu bekommen.
Liebe Grüße
#Edit
Egal wie oft ich darüber nachdenke. Ohne einen Zusätzlichen Wert pro Reduzierung ist eine Grenze von 255 nicht zu realisieren. Würde ich jetzt einen Wert pro Iteration auf alle Bytes verwenden, müssten man wahrscheinlich Millionen von Werten durchgehen, um genau diesen einen zu finden, der auf alle Werte oberhalb der 255 Grenze angewendet einen Betrag zwischen 0 und 255 ergibt.Und zu jedem Byte ein extra Byte zur reduktion anwenden ist sinnfrei. Ach, kann es nicht so eine "magische Zahl" wie PI geben, die auf 65535 angwendet immer einen reelen Betrag zwischen 0 und 255 ergibt^^
*Topic verschoben*
ich hatte mir die Tage mal Gedanken über die Zusammenführung von Zahlen gedacht. So zu sagen aus 2 mach 1. Was ja eigentlich kein Problem ist. Zahl 1 + Zahl 2.
Doch was mache ich, wenn ich aus der einen Zahl wieder die beiden nehmen will. ( Dass ganze ging so in die Richtung der Kompression. )
Selbst dass zurückführen ist noch leicht zu realisieren. Ich stelle dass ganze mal in Bytes da.
Reduzieren
Byte 1 -> 25
Byte 2 -> 45
Byte1 * (255+1) + Byte 2 = 6445
Byte 2 -> 45
Byte1 * (255+1) + Byte 2 = 6445
Expandieren
6445 Modula (255+1) = 25 Rest 45
Dass funktioniert eigentlich wie gewollt. Nun muss ich diese nach dem Reduzieren auf einen Wert zwischen 0 und max 255 beschränken, da ich beim Reduzieren 2er Werte die schon mal zusammen geführt worden sind bei 2 Stelligen Millionwerte lande.
Nun habe ich bestimmte Eigenschaften/Möglichkeiten
- Die Zahlen dürfen keine Nachkommastellen besitzen.
- Diese Zahlen müssen auch wieder zu dem ursprünglichen Wert umgewandelt werden können.
- Die Berechnung mit Konstanten.
- Die Berechnung mit Schleifen bedingten Werten.
- Pro Reduzierung ( 8B,10B, 500B oder ...) sollte maximal 1 Byte einen Wert enthalten der zur Expandierung wieder verwendet werden kann.
Der Maximale Betrag von 2 Bytes ist demnach 255*(255+1)+255= 65.535
Dass ist so weit richtig, da ich diesen brauche wenn ich die 2 Bytes wieder raus finden möchte. Doch wenn ich diese so speichern würde, dann würde ich natürlich 16 Bits benötigen. Da bin ich dann wieder bei meinen 2 Bytes von jeweils 8 Bit Länge. Ich habe demnach nichts verkleinert, lediglich zusammengeführt, doch die Größe bleibt ja die Selbe.
Hoffe ihr versteht meinen Denkansatz
Wenn ich dass alles versuchen würde in einer Frage zu verpacken dann würde die vermutlich so aussehen : Gibt es eine Mathematische Möglichkeit, mit der ich eine Zahl, die den Wert 65535 nie überschreitet auf einen Wert zwischen 0 und 255 beschränken zu können, mit dem Ziel die Ursprüngliche Zahl wieder aus dieser Grenze zu bekommen.
Liebe Grüße
#Edit
Egal wie oft ich darüber nachdenke. Ohne einen Zusätzlichen Wert pro Reduzierung ist eine Grenze von 255 nicht zu realisieren. Würde ich jetzt einen Wert pro Iteration auf alle Bytes verwenden, müssten man wahrscheinlich Millionen von Werten durchgehen, um genau diesen einen zu finden, der auf alle Werte oberhalb der 255 Grenze angewendet einen Betrag zwischen 0 und 255 ergibt.Und zu jedem Byte ein extra Byte zur reduktion anwenden ist sinnfrei. Ach, kann es nicht so eine "magische Zahl" wie PI geben, die auf 65535 angwendet immer einen reelen Betrag zwischen 0 und 255 ergibt^^
*Topic verschoben*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()