Umwandlung von Zahlensystemen Computerarchitektur

Neue Frage »

Auf diesen Beitrag antworten »
Huibui123 Umwandlung von Zahlensystemen Computerarchitektur

Meine Frage:
Hallo, und zwar bleib ich bei folgende Aufgaben hängen:


Aufgabe: Geben Sie die folgenden Dezimalzahlen als Binärzahlen mit der Wortlänge 8 in Excess-128 kodiert an (notieren Sie dabei auch den Rechenweg):
-12, 42, -24, 100, 203



Beispiel: 203

Hier addieren ich:

203+128 =331

Problem ist die Wortlänge 8 ?
ich kann ja nur (2 8)=256 Zahlen darstellen
also nur die Zahlen 0 bis 255
Wenn ich jetzt 331 in Binär umwandle kommen sicher mehr als die Wortlänge 8 heraus

Es kommt 101001011 heraus, wie kürze ich zur Wortlänge 8 bzw. was muss man dann machen ? Habe ich falsch verstanden wofür Excess-N da ist ?Verschiebt man damit, nicht einfach den Wert um n stellen ?

________________________________________________________________________

Bei der anderen frage:
Geben Sie die folgenden Dezimalzahlen als Binärzahlen mit der Wortlänge 8 kodiert im 2-Komplement an (notieren Sie dabei auch den Rechenweg):


4; -13 ;-6; 121;-44

Bei 4 habe ich das gemacht:

4:2= 2 R 0
2:2= 1 R 0
1:2= 1 R 1

Ergibt: 00000100 (Hier brauche ich ja nicht zu invertieren und +1 zu addieren, da es ja keine Negative Zahl ist oder ?)

Bei -13 habe ich es so gemacht:

13: 2= 6 R 1
6 : 2= 3 R 0
3 : 2= 1 R 1
1 : 2= 0 R 1

Ich erhalte 00001101 und invertiere zu 11110010,
dann addiere ich +1 dazu und erhalte als Lösung:
11110011

Ist das so richtig ?




Meine Ideen:
Meine Ideen und Ansätze stehen oben.
 
Auf diesen Beitrag antworten »
as_string

Hallo!

Ja, soweit alles korrekt.
Mit einer Wortlänge von 8 Bit lassen sich 256 verschiedene Zahlen darstellen. Sowohl mit der Excess-128 als auch mit der 2-Complement Methode verschiebt man den Bereich auf -128 bis 127. Also ist die 203 mit beiden Arten nicht darstellbar.

Gruß
Marco
Auf diesen Beitrag antworten »
Huibui123

Hey erstmal, vielen Dank für die Antwort !

Aso also müsste ich -128 rechnen und nicht +128

also wäre 203-128 =75
Das wäre dann binär ausgedrückt:
01001011

Aber bei 203+127 wäre die Binäre Wortlänge von 8 bit nicht darstellbar.


Bei Excess-256 würde man dann im Bereich von -256 bis 255 verschieben ?
Und Allgemein ausgedrückt verschiebt man bei Excess-n immer die bereiche -n bis n-1.


Muss ich dann beide Fälle ausrechnen für Minus und Plus ?
Auf diesen Beitrag antworten »
as_string

Zitat:
Original von Huibui123
Aso also müsste ich -128 rechnen und nicht +128

NEIN! Wo habe ich das denn gesagt???
Du willst erreichen, dass statt des Zahlenbereichs von 0 bis 255 in der Excess-128-Darstellung -128 bis 127 darstellbar ist. eine -128 hätte also dann achtmal die 0 und die -127 sieben mal 0 und einmal 1.
Du musst also schon zu der Zahl, die Du darstellen willst, die 128 dazu addieren, so wie Du es doch auch schon richtig gemacht hattest!

Zitat:
Original von Huibui123
Aber 203+127 wäre die Binäre Wortlänge von 8 bit nicht darstellbar.

Ja, genau. Aber warum jetzt +127???
Der Bereich, den Du bei 8 Bit und Excess-128 darstellen kannst, ist -128 bis +127. Aber 203 ist da doch schon außerhalb, was willst Du da also noch mache/rechnen???
Zitat:
Original von Huibui123
Bei Excess-256 würde man dann im Bereich von -256 bis 255 verschieben ?

Nur wenn Du jetzt auch 9 Bit zur Verfügung hättest. Wenn es nach wie vor 8 wären, würde das nur die negativen Zahlen von -256 bis -1 abdecken. Deshalb würde man das mit 8 Bit auch nicht machen.
Zitat:
Original von Huibui123
Und Allgemein ausgedrückt verschiebt man bei Execess-n immer die bereiche -n bis n-1.

Auch hier: Ich würde andersrum hergehen: Wenn ich k Bit habe, kann ich direkt ja immer den Zahlenbereich 0 bis (2^k)-1 darstellen (also wenn ich jedes Bit direkt als eine Ziffer im Dualsystem interpretiere). Da sind aber keine negativen Zahlen dabei, so dass ich mir hierfür etwas spezielles einfallen lassen muss.
Eine Möglichkeit wäre diese Excess-n Methode, die einfach den Bereich von 0 bis (2^k)-1 uminterpretiert in -n bis (2^k)-1-n. Häufig halbiert man das in der Form, dass man eine Excess-2^(k-1)-Methode verwendet (n = k-1) und so den halben Wertebereich ins negative verschiebt. Hier also: 8-Bit Wortlänge (also k=8). Normalerweise Wertebereich 0 bis 2^8 -1 = 255. Excess-2^(8-1) ist Excess-128 -> also ist der Wertebereich dann schon von -n bis n-1.
Bei der Umrechnung von einer gegebenen Zahl in diese Darstellung, musst Du aber immer n addieren, (kann man sich leicht merken, wenn man bedenkt, dass man ja negative Zahlen damit darstellen will und die können nur positiv werden, indem man etwas addiert). Wenn Du die dann von der Darstellung wieder zurück in eine Dezimalzahl wandeln würdest, müsstest Du aber am Ende n abziehen.

Zitat:
Original von Huibui123
Muss ich dann beide Fälle ausrechnen für Minus und Plus ?

Diese Frage verstehe ich nicht.
 
Auf diesen Beitrag antworten »
Huibui123

Vielen Dank, dass mit der Frage hat sich schon erledigt. Die macht jetzt auch keinen Sinn.

"Der Bereich, den Du bei 8 Bit und Excess-128 darstellen kannst, ist -128 bis +127. Aber 203 ist da doch schon außerhalb, was willst Du da also noch mache/rechnen"

Ich hab denke ich einen Denkfehler, undzwar habe ich gedacht, dass man mit -128 bis +127 meint, dass man - 128 und +127 auf dem Wert drauf addiert.

Natürlich hast Du nichts dergleichen gesagt, dass war mein blödes Hirn, dass Dinge oft falsch interpretiert großes Grinsen
Auf diesen Beitrag antworten »
Huibui123

Tut mir leid, ich bin wirklich noch ein blutiger Anfänger !




Okey, ich bin Edit Meister 2018.
Auf diesen Beitrag antworten »
as_string

Kein Problem, wichtig ist nur, dass Du alles verstanden hast! Wink
Gruß
Marco
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »