Umwandeln von Komplementen < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
|
Status: |
(Antwort) fertig | Datum: | 23:26 Mo 23.01.2012 | Autor: | sandp |
> Hier gehts zur Aufgabenstellung:
>
> Klick mich
>
> Hallo,
>
> im obigen Link findet ihr eine Tabelle. Die Werte beziehen
> sich auf 8 Bit vom Typ signed char (also von -128 bis 127).
> Die roten Werte habe ich ausgefüllt, die Werte mit
> schwarzer Schriftfarbe waren gegeben.
>
hallo,
hier gibst du den Wertebereich bis 127 an, aber in deiner Tabelle ist die erste Dezimalzahl 214, da kann wohl etwas nicht stimmen.
> Ich hoffe die roten Werte stimmen soweit.
>
> Allerdings hatte ich mit der letzten Spalte ein Problem.
> Woher weiß ich jetzt ob die Dezimalzahl positiv oder
> negativ ist, wenn als 2er-Komplement 1111 1111 gegeben
> ist?
>
> Weil das zurückrechnen vom 2er-Komplement von 1111 1111
> geht ja so:
>
> 1111 1111 invertieren --> 0000 0000
>
> Dann weiß man, dass 0000 0000 als Ergebnis rauskommen
> muss, wenn man "Rückwärts rechnet":
>
> ???? ???? 0000 0001
> + 1111 1111 + 1111 1111
> ------------- somit: -------------
> 0000 0000 (1)0000 0000
>
> Also kommt für die Zahl 0000 0001, also [mm]1_{10}[/mm] heraus.
> Aber wo sehe ich jetzt ob es -1 oder +1 ist?
>
> Man kann das zurückrechnen auch so machen:
>
> ???? ???? 1111 1110
> + 0000 0001 + 0000 0001
> ------------- somit: -------------
> 1111 1111 0000 0001
>
>
> Dann muss man 1111 1110 nur noch invertieren -->
> 0000 0001
>
> Das Ergebnis ist 1, aber welches Vorzeichen hat es?
>
>
> Oder ist es von "Haus aus" eine negative Zahl wegen dem
> 2-er Komplement von 1111 1111 ?
>
> mhm, vielleicht kann mir da jemand Helfen
also um auf die Dezimalzahl 127 zu kommen benötigst du nur 7 Bits in Binärdarstellung bzw. Zweierkomplement.
Daher benutzt man, das 8te Bit um das Vorzeichen anzugeben.
ein Beispiel
[mm] -73_{10} [/mm] = [mm] 11001001_{2}
[/mm]
[mm] 73_{10} [/mm] = [mm] 01001001_{2}
[/mm]
ich habe deine Tabelle jetzt nicht nachgerechnet, aber ich denke du solltest sie nochmal überarbeiten, da du ja noch nicht wusstest wie du das Vorzeichen verarbeiten kannst, wenn du fertig bist kannst du sie ja wieder uploaden, dann schau ich drüber.
und noch ein Tipp mach dir Gedanken für was das Zweierkomplement gedacht ist, damit du weißt wie das Zweierkomplement für negative Zahlen, bzw. positive Zahlen gebildet wird, da gibt es ein Unterschied.
Gruß sandp
|
|
|
|