Dezimalzahlen -> Exzessdarstellung?

1 Antwort

Dein Exzess ist für ein 8 Bit System, bedeutet dein Exzess beträgt 2^7=128.
Das generelle Vorgehen stellt sich so dar, dass positive Zahlen zum Exzess addiert und negative Zahlen vom Exzess subtrahiert werden. Anschließend werden diese in das binäre Zahlenformat umgewandelt.

Beispiel mit der Zahl 100 in Dezimaldarstellung:
128 + 100 = 228

228 / 2 = 114 (R:0)
114 / 2 = 57 (R:0)
57 / 2 = 28 (R:1)
28 / 2 = 14 (R:0)
14 / 2 = 7 (R:0)
7 / 2 = 3 (R:1)
3 / 2 = 1 (R:1)
1 / 2 = 0 (R:1)

Binärzahl ist somit: 11100100

Beispiel mit der Zahl -63 in Dezimaldarstellung:
128 - 63 = 65

65 / 2 = 32 (R:1)
32 / 2 = 16 (R:0)
16 / 2 = 8 (R:0)
8 / 2 = 4 (R:0)
4 / 2 = 2 (R:0)
2 / 2 = 1 (R:0)
1 / 2 = 0 (R:1)

Binärzahl ist somit: 1000001, da du 8 Bit hast, musst du mit einer Null vorne auffüllen, also ist das Ergebnis 01000001.

Wenn du von einer Binärzahl zu einer Dezimalzahl umwandeln willst, dann ist das Prozedere in etwa das Gleiche, außer dass du zunächst die Binärzahl in eine Dezimalzahl umwandelst und dann die Subtraktion durchführst.

Beispiel mit der Binärzahl 11001100
0*1+0*2+1*4+1*8+0*16+0*32+1*64+1*128 = 4+8+64+128 = 204
204 - 128 = 76

Beispiel mit der Binärzahl 00101101
1*1+0*2+1*4+1*8+0*16+1*32+0*64+0*128 = 1+4+8+32 = 45
45 - 128 = -83

oODeathTheKidOo 
Fragesteller
 23.03.2019, 18:43

Noch eine andere Frage
Bei einer Aufgabe steht: Entscheiden Sie, ob die Darstellungen korrekt sind! Danach steht: 1010 1000 (Zweierkomplement) = -88 ...
Und diese Darstellung ist Korrekt weshalb ?

0
p47r1ck85  23.03.2019, 18:53
@oODeathTheKidOo

Grob gesagt gibt die erste Binärzahl im Zweierkomplement an, ob es sich um eine positive oder negative Dezimalzahl handelt und wird ansonsten nicht bei der Berechnung berücksichtigt. Eine 1 an erster Stelle sagt also aus, dass es sich um eine negative Dezimalzahl handelt und eine 0 würde aussagen, dass es sich um eine positive Dezimalzahl handelt.

Der Rest stellt sich dann bei dieser Zahl wie folgt dar:
0*1+0*2+0*4+1*8+0*16+1*32+0*64 = 8 + 32 = 40
40 - 128 = -88

0
oODeathTheKidOo 
Fragesteller
 23.03.2019, 19:22
@p47r1ck85

Eins verstehe ich noch nicht
10110011 (Einerkomplement) = -77
1010 1000 (Zweierkomplement) = -88
Woran unterscheiden sich diese zwei man muss ja die 0 durch 1 ersetzen und umgekehrt wenn man es kontrollieren möchte welches davon richtig ist oder muss man beim Zweierkomplement nur die ersten 4 umwandeln ?

0
p47r1ck85  23.03.2019, 19:39
@oODeathTheKidOo

Also beim Einerkomplement ist es so, dass eine negative Zahl dargestellt wird, indem dessen positive Binärzahl negiert wird.

Beispiel für die Zahl 6 und -6:
00000110 = 6
11111001 = -6

Das Zweierkomplement ist eine Art Mix aus Einerkomplement und Addition, hierbei wird zunächst wie beim Einerkomplement vorgegangen, jedoch wird dann noch mit 1 addiert.

Beispiel erneut für die Zahl 6
00000110 = 6
11111001 = -6 (Einerkomplement)
11111010 = -6 (Zweierkomplement)

Die Zahl wurde also erst negiert, wie es auch beim Einerkomplement üblich ist und dann wird noch 1 addiert, wodurch sich die 1 an letzter Stelle des Einerkomplements in diesem Fall sozusagen um eine Stelle nach Links verschiebt.

0
oODeathTheKidOo 
Fragesteller
 23.03.2019, 20:18
@p47r1ck85

Danke da habe ich noch eine Frage über Hamming Abstand.
Da steht wie gross ist der Hamming Abstand diese Beispiele:
Beispiel 1
1111 1111
1000 0000
Dann sollte die Lösung jetzt 7 sein weiss aber nicht warum
und beim Beispiel 2
1010 1001
0110 1001
Da sollte die Lösung 2 sein ....

0
p47r1ck85  23.03.2019, 21:05
@oODeathTheKidOo

Der Hamming Abstand gibt in Bezug auf Binärzahlen die Menge von Zahlen an, bei denen sich die Binärzahlen voneinander unterscheiden. In deinem ersten Beispiel hast du jeweils 8 Zahlen, von denen sich 7 Stellen voneinander unterscheiden, also alle 0en und die Anzahl der 0en ergibt 7. In deinem zweiten Beispiel unterscheiden sich die ersten beiden Zahlen (von links gelesen) voneinander, der Rest der Zahlen ist identisch, dementsprechend ist die Lösung 2.

0