Hallo zusammen, ich zerbreche mir hier aktuell den Kopf, wie man die Trinärcodierung macht. Es geht um das Märklin Motorola Format, siehe hier: https://www.digital-bahn.de/info_tech/motorola.htm Die Adresse geht von 1-80. Auf der Seite ist nur bis 64 aufgeführt. Es geht um die Decoderadresse. Ich habe also binär 1 - 80 und brauche trinär die entsprechende Adresse. ich sehe da kein Muster und ich verstehe auch nicht wie ich das codieren muss. Die Decodierung ist einfach hingegen, das klappt. Das sind nur 3 einfache Abfragen. Kann mir da jmd. helfen?
Was genau ist denn unklar, ich habe unten ein Beispiel von der Seite genommen, Dekoder-Adresse 32. Die trinären Smybole sind
1 | 00 -> 0 |
2 | 11 -> 1 |
3 | 10 -> 2 |
4 | 01 -> ungültig |
Das Beispiel mit Dekoder-Adresse 32:
1 | 32: 10 11 00 11 00 |
2 | |
3 | 32: 10 11 00 11 00 |
4 | |
5 | (2 * 3^0) + (1 * 3^1) + (0 * 3^2) + (1 * 3^3) + (0 * 3^4) |
6 | |
7 | 2 + 3 + 0 + 27 + 0 = 32 |
Edit: Wobei man "00" ganz rechts auch weg lassen kann weil das laut der Webseite immer "00" ist
:
Bearbeitet durch User
Dieter S. schrieb: > Was genau ist denn unklar, ich habe unten ein Beispiel von der Seite > genommen, Dekoder-Adresse 32. > >
1 | > 32: 10 11 00 11 00 |
2 | > |
3 | > 32: 10 11 00 11 00 |
4 | > |
5 | > (2 * 3^0) + (1 * 3^1) + (0 * 3^2) + (1 * 3^3) + (0 * 3^4) |
6 | > |
7 | > 2 + 3 + 0 + 27 + 0 = 32 |
8 | > |
Das ist doch die Decodierung, oder? Die ist mir klar. Ich brauche es genau umgekehrt. Sprich ich habe die binäre Adresse 32 und möchte die in eine trinäre Adresse wandeln. Wie komme ich von binär 32 (0b00000100) auf trinär 0b11001101 ??
:
Bearbeitet durch User
grundsätzlich ist es komplett wurscht, in welches Zahlensystem man umrechnet - das Vorgehen ist immer gleich. und wenn du anstatt der Binärdarstellung von 32 mit der Dezimaldarstellung rechnest, dann gehts leichter in den Kopf z.B. https://www.massmatics.de/merkzettel/#!1313:Umrechnung_dezimal_-_hexadezimal
1 | "1" "0" "1" "2" |
2 | 10 00 11 10 |
:
Bearbeitet durch User
Das funktioniert genauso wie bei anderen Zahlensystemen auch, also z.B. so bei 32:
1 | 32 % 3 = 2 30 / 3 = 10 |
2 | 10 % 3 = 1 9 / 3 = 3 |
3 | 3 % 3 = 0 3 / 3 = 1 |
4 | 1 % 3 = 1 |
Das Ergebnis der MOD-Operation ist das Symbol (niederwertigste Stelle zuerst), mit der Division wird die Zahl für den nächsten Schritt ermittelt (man kann natürlich auch "32 / 3" und "10 / 3" berechnen und die Nachkommastellen weg lassen).
Dieter S. schrieb: > Das funktioniert genauso wie bei anderen Zahlensystemen auch, also z.B. > so bei 32: > >
1 | > 32 % 3 = 2 30 / 3 = 10 |
2 | > 10 % 3 = 1 9 / 3 = 3 |
3 | > 3 % 3 = 0 3 / 3 = 1 |
4 | > 1 % 3 = 1 |
5 | > |
> > Das Ergebnis der MOD-Operation ist das Symbol (niederwertigste Stelle > zuerst), mit der Division wird die Zahl für den nächsten Schritt > ermittelt (man kann natürlich auch "32 / 3" und "10 / 3" berechnen und > die Nachkommastellen weg lassen). Danke, das war verständlich und klar, hätte ich auch selbst drauf kommen können aber wie das so ist, aus dem üblichen System raus und Brett vor dem Kopf. Vielen Dank!
Einfach noch ein bisschen warten. Märklin will ja selber weg von Motorola. Dann ist alles DCC! Gruss Chregu
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.