Hi, ich versuche gerade ein Format zu verstehen. Es handelt sich um OpenTherm Nachrichten. Ich habe ein Tool, was die Nachrichten übersetzt. Die Codierung verstehe ich aber nur teilweise: Ankommende Nachricht: C0192B20 - Übersetzt zu => ID: 25, Wert: 43.13 401F1FDC - Übersetzt zu => ID: 31, Wert: 31.86 Was ich rausgefunden habe: Stelle 3+4 codiert die id hexdezimal. Also 19 = 25, 1F = 31. Stelle 5+6 codiert die Zahl vor dem Komma. Also 2B = 43, 1F = 31. Wo und wie wird aber die Nachkommazahl kodiert? Kann mir wer helfen? Danke
Rechne den Wert in Dezimal um und teile ihn durch 256.
Wollte es gerade schreiben - habe die Stelle im Quellcode nachgeguckt:
1 | |
2 | |
3 | |
4 | |
Warum wird denn durch 256 geteilt? Was genau soll der Ausdruck in der if-Bedingung bewirken? Danke
Filth __ schrieb: > ... > > Warum wird denn durch 256 geteilt? ... Weil eine Division durch 2^x für Binärrechner deutlich einfacher ist, als durch 10^x.
Filth __ schrieb: > Was genau soll der Ausdruck in der if-Bedingung bewirken? Da werden negative Zahlen (16-Bit-Zweierkomplementdarstellung) behandelt.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.