(Re-)konvertierung Ganzzahl < Sonstiges < Schule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:24 So 23.08.2020 | Autor: | n0000b |
Hallo,
ich muss eine Ganzzahl x im Bereich 0-360 in ein Ganzzahl y mit Wertebereich 0-255 (1 Byte) konvertieren, übertragen und dann rückkonvertieren.
Soweit kein Problem und die 1 Byte Konvertierung lässt sich mit
[mm] y=\lfloor x*\bruch{255}{360} \rfloor
[/mm]
umsetzen, dabei runde ich ab und übertrage y.
Nun muss ich aber auf Empfängerseite mit y den ursprünglichen Wert x wiederherstellen.
[mm] x=\lceil y*\bruch{360}{250} \rceil
[/mm]
und runde das Ergebnis auf.
Das funktioniert meistens, allerdings gibt es Zahlen wie z.B. x=309 welche nach Übertragung zu einem abweichenden Ergebnis führen hier z.B. x=308 :-(
Nun meine Frage, wie kann ich zuverlässig auf Empfängerseite x wiederherstellen?
|
|
|
|
Hiho,
> Nun meine Frage, wie kann ich zuverlässig auf Empfängerseite x wiederherstellen?
Gar nicht.
Deine erste Abbildung ist nicht injektiv, damit lässt sich nicht mehr rekonstruieren, welche Zahl abgebildet wurde.
Mal ein übertriebenes Beispiel: Du bildest die Zahlen 0-100 alle auf die 1 ab… und fragst nun, wie du aus der 1 wieder rekonstruieren kannst, welche Zahl abgebildet wurde… ohne zusätzlichen Speicher geht das schlichtweg nicht.
Gruß,
Gono
|
|
|
|