Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Technische Informatik » Zahlencodes/Darstellung von Informationen » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
eulerscheZahl

Ja, du hast es verstanden, herzlichen Glückwunsch smile
deppensido

hallo,

also bei 0,5 = 0,1 muss ich das Komma um 1 nach rechts schieben (um 1,0 zu haben) und hab deshalb den Exponent 127 + (-1) = 126 ?

und bei 11110100001001000000 muss ich das Komma um 19 Stellen nach links geschoben werden (um 1,1110100001001000000 zu haben) und deshalb den Exponent 127 + 19 = 146 ?

Wenn das so funktioniert hab ich's wohl verstanden.
Danke für die Hilfe!
eulerscheZahl

[latex]0,5_{10} = 0,1_2[/latex]. Der Ausdruck soll nun so umgeschrieben werden, dass das Komma nach der ersten Ziffer steht: [latex]1 \cdot 2^{\textcolor{red}{-1}}[/latex]. Ist klar, warum das das Selbe ist wie oben? Die Potenz des Faktors, mit dem korrigiert werden muss, fließt in die Berechnung des Exponenten mit ein: 127(für 8 Bit in Exponent) + (-1)(eben errechnet) = 127 - 1 = 126 = 01111110.
Die Erklärung unterhalb des Exponenten verstehe ich auch nicht, aber zumindest erhalte ich das selbe Bitmuster.

Für die Umrechnung von 10^6 brauche ich auch ein Wenig: 10^6 = 5^6 * 2^6.
2^6 sind einfach 6 0en am Ende. Bei 5^6 wirst du nicht ums Rechnen herumkommen. Eventuell kannst du die Multiplikation im Dualsystem durchführen: 101 * 101 * 101 * ... . Ich habe dafür knapp 2 Minuten gebraucht.
[latex]11110100001001000000 = 1,1110100001001000000 \cdot 2^{\textcolor{red}{19}}[/latex]
127+19 = 146, ins Binärsystem übertragen ist das der Exponent
deppensido

irgendwie versteh ich zu den Gleitkommazahlen noch etwas nicht verstanden. Es geht hauptsächlich um die Berechnung des Exponenten. Die Normalisierung hab ich soweit verstanden.

Vielen Dank schon mal

deppensido hat diese Bilder (verkleinerte Versionen) angehängt:
aufgabe.jpg lösung.jpg

Karlito

Hallo,

nur beim ersten handelt es sich um ein "richtiges" Ergebnis. Der Wertebereich von 4-Bit Zahlen im Zweierkomplement geht von -8 bis 7. Wenn du dir das letzte Beispiel anschaust ist das Ergebnis Binär auch nicht korrekt, da das Vorzeichenbit plötzlich kippt und +7 herauskommt (die Überträge sind nicht Teil des Ergebnisses, sie werden nur für die Erkennung von Überläufen gemutzt).

VG,

Karlito
deppensido

aber es kommt doch bei allen Rechnungen das richtige Ergebnis raus?
Sind die Zweierkomplementzahlen mit Overflow dann keine
gültige Zweierkomplementzahlen mehr?
Karlito

Hallo,

mal eine genauere Erklärung: Rechnet man nur mit Ganzzahlen ohne Vorzeichen, so ist der Übertrag auf das erste nicht mehr darstellbare Bit (Carry) ein Überlauf. Rechnet man mit dem Zweierkomplement, so tritt ein Überlauf nur dann auf, wenn sich die höchsten beiden Überlaufbits unterscheiden (Overflow). Siehe Anhang.

VG,

Karlito

Karlito hat dieses Bild (verkleinerte Version) angehängt:
uebertrag.jpg

adramelec

c ist mit 0 richtig.

Solang wir nur x und y mit je 4 bits haben, muss 0 stimmen.
Denn es wandert ja dann weiter, wenn wir nichts haben mit dem wir das abfangen, fällts unter dem Tisch. Blöd, aber ist so. (Das Prinzip ist ja bei einem Zähler genau so :-) Da verlasse nwir uns ja auch drauf, dass gewisse Dinge wieder 0 werden, wegen dem Überlauf)

(So zumindestens meine Begründung großes Grinsen )
deppensido

hallo,

danke für die Hilfe. Ich glaub, ich hab es verstanden. Sollten sich doch noch
Fragen ergeben, meld ich mich nochmal.

Grüße
eulerscheZahl

b) ist falsch. Und aus deiner Erklärung schließe ich, dass du es zudem umständlich gemacht hast: 4 Binärziffern ergeben eine Hexziffer, die Umwandlung zwischen diesen beiden Zahlensystemen ist sehr simpel:
[latex]a_{16} = 10_{10} = 1010_2[/latex] und [latex]5_{16} = 5_{10} = 0101_2[/latex] (führende 0en nicht vergessen)
Du kannst die Ziffern also einzeln ins Dualsystem umrechnen und dann zusammensetzen zu 10100101
Zur Kontrolle: B=(000)11011

c) hier bin ich mir unsicher: es muss zwar 0 herauskommen, aber gleichzeitig kommt es zum Überlauf, was immer ein schlechtes Zeichen ist, ob man das Ergebnis noch verwerten kann.

g) Die Zahl ist positiv, also Vorzeichenbit = 0
[latex]10,01_2 = 1,001 \cdot 2^1[/latex], da das Komma um 1 nach links gerutscht wurde.
Exponent: 01111111 + 00000001(wegen 2^1) = 10000000
Mantisse: Aufgrund der Normalisierung startet die Zahl mit einer 1. Da man das weiß, kann man sie auch weglassen (zu Gunsten der Präzision, da jetzt 1 Bit mehr für den Rest der Zahl zur Verfügung steht).
Es bleibt also: 001 [hier kommen noch 20 =en].

Umrechner (benötigt Java): Link

i) p1 = 1 XOR 0 XOR 0 = 1 (passt)
p2 = 1 XOR 0 XOR 1 = 0 (passt)
p3 = 1 XOR 0 XOR 1 = 0 (passt nicht)

Ich gehe mal davon aus, dass nur 1 Bit fehlerhaft ist, dabei kann es natürlich zur Fehlkorrektur kommen, ist aber unwahrscheinlich.
x1 kommt in allen 3 Prüfbits vor, wenn das fehlerhaft wäre, würden p1,p2,p3 alle falsch sein -> x1 ist richtig
x2, x3, x4 sind jeweils in 2 Prüfbits, da aber nur eines nicht stimmt, kann es daran auch nicht liegen (bei 1 Bitfehler).
Bleibt nur die Möglichkeit, dass p3 falsch ist.

Somit: Fehlerkorrektur des Prüfbits ist möglich, wie gezeigt. Das richtige Codewort hast du ja selbst schon herausbekommen.
"Syndrom" habe ich noch nie gehört, dazu kann ich nichts sagen

Wenn ich zu einer Aufgabe nichts geschrieben habe, dann weil ich mit deiner Antwort einverstanden bin.
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.