Umrechnung Dual / Dezimalsystem
Wen man einen Decoder Byteweise-Programmieren will und
nur das Bitmuster bekannt ist (z.B. bei CV 29, Function Mapping etc.),
ist eine Umrechnung vom Dual in das Dezimalsystem erforderlich.
Anzeige:
Umrechnung Dual / Dezimal
Das Umrechnen vom Dual in das Dezimalsystem ist relativ einfach: Jedes
Bit stellt einen Dezimalwert dar, wobei sich der Wert mit jedem Bit verdoppelt,
beginnend bei 1.
Bit 0 = 1
Bit 1 = 2
Bit 2 = 4
Bit 3 = 8
Bit 4 = 16
Bit 5 = 32
Bit 6 = 64
Bit 7 = 128
Für jedes Bit, das gesetzt ist (also "1" ist), muss der
jeweilige Dezimalwert gezählt werden, wobei alle gesetzten Dezimalwerte
summiert werden.
Sind alle Bits "0", so entspricht dies dem Dezimalwert 0. Der
maximale Dezimalwert bei 8 Bits ist 255 (entspricht der Summe aller einzelnen
Teil-Dezimalwerte).
Der Dezimalwert der 8 Bits entspricht dem zu programmierenden Byte-Wert!
Rechenbeispiel für das Bitmuster 00110101:
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
Bitmuster: | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Dezimalwert der Bits: | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Zu summierende Dezimalwerte: | 0 | 0 | 32 | 16 | 0 | 4 | 0 | 1 |
Dezimalwert für 00110101: | 53 |
Rechner
Wer nicht rechnen will, kann hier einfach die entsprechenden Kontrollkästchen anhacken und den Dezimalwert ablesen (JavaScript-basiert). Nicht angehackte Kästchen entsprechen einer "0", angehackte einer "1".
Rechnerscript mit freundl. Genehmigung von Arnold
Hübsch
Umrechnung Dezimal / Dual
Das Umrechnen vom Dezimalsystem in das Dualsystem ist etwas schwieriger,
kann aber in Anlehnung an die Dual / Dezimal-Umrechnung auf logische Weise
erfolgen, indem man beginnend mit dem höchstwertigsten Bit (Bit 7,
Wert 128) vergleicht, ob der Wert im Dezimalwert "Platz findet".
Falls ja, heißt dies, dass das Bit gesetzt ist (also "1").
Der Bitwert (128 für Bit 7) wird von der Dezimalzahl abgezogen und
mit dem Restwert wird beim nächsten Bit weitergemacht. Ist der Bitwert
höher als die (noch übriggebliebene) Dezimalzahl, so wird das
Bit einfach übersprungen - es bedeutet, dass das Bit nicht gesetzt
ist und daher "0" ist.
Rechenbeispiel für das Bitmuster 53:
Wie gehabt, die Bitwerte:
Bit 7 = 128; Bit 6 = 64; Bit 5 = 32; Bit 4 = 16; Bit 3 = 8; Bit 2 = 4;
Bit 1 = 2; Bit 0 = 1
53 ist kleiner als die Bitwerte von Bit 7 und 6, diese sind daher 0.
Bit 5 passt "hinein", ist also 1. Von 53 wird nun der Bitwert
von Bit 5 abgezogen: 53 - 32 = 21 - mit dieser Zahl wird nun die Berechnung
fortgesetzt.
Bit 4 (Wert 16) passt, ist also 1; Wert wird wieder abgezogen: 21 - 16
= 5 - mit dieser Zahl wird nun fortgesetzt.
Bit 3 (Wert 8) passt nicht in 5, ist also 0;
Bit 2 (Wert 4) passt, ist also 1; Wert wird wieder abgezogen: 5 - 4 =
1 - weiter mit der Zahl1.
Bit 1 (Wert 2) passt nicht , ist also 0;
Bit 0 (Wert 1) passt, ist also 1. Die Endsumme ist Null (muss Null sein!).
Das sich ergebende Bitmuster: 00110101
Das sagen User zu diesem Thema (Ein Beitrag):
Zum Seitenanfang
© by 1zu160.net; Stand: 26. 12. 2021; Seitenaufrufe laufender Monat: 768; Vormonat: 1091;