Einerkomplement der Zahl 14 < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:02 Di 19.10.2010 | Autor: | Fatih17 |
Aufgabe | Write the 8-bit signed-magnitude, one's complement and two's complement
representation for the following decimal numbers:
• -120
• 14
• 56
• -112
• -33 |
Guten Tag,
wir machen gerade das Thema Einerkomplement und Zweierkomplement und sollen diese Aufgaben machen. Die (-120) habe ich glaube ich richtig hinbekommen:
Einerkomplement heißt ja einfach invertieren, also habe ich zunächst die positive Zahl also +120 in Binär umgewandelt:
[mm] (120)_{10} \to (1111000)_{2}
[/mm]
So da das ja in 8bits darstellung sein soll ist die 120 also in Binär: "01111000"
Das invertiert wäre dann "10000111"
Das ist alles schön und gut aber rbauche ich das dann bei der Zahl 14 überhaupt zu machen?
|
|
|
|
Hallo!
Du hast ganz achtlos das Vorzeichen weggeworfen.
Da steht, daß eine vorzeichenbehaftete 8Bit-Zahl gegeben ist.
Nochmal anschaulich, was das bedeutet:
Die unteren 7 Bit geben die Zahl an, das 8. Bit das Vorzeichen. Bildlich gesprochen schneidet man den Zahlenbereich, also b10000000-b11111111 ab, und verschiebt ihn bis unterhalb der 0 in den negativen Bereich.
Also: b00000000-b01111111 sind die positiven Zahlen 0 bis 127
und b10000000-b11111111 sind die negativen Zahlen -128 bis -1
Und daraus folgt z.B., daß das Einerkomplement
von 0(0b00000000) gleich -1(0b11111111) ist.
Was ist dann mit -120?
|
|
|
|
|
Status: |
(Korrektur) fundamentaler Fehler | Datum: | 23:18 Di 19.10.2010 | Autor: | dominikh |
Da muss ich widersprechen. Es geht um das one's complement, nicht signed magnitude.
Das heißt zum einen, dass das Komplement von 0 -0 ist, und nicht -1, und zum anderen, dass er kein Vorzeichen vernachlässigt hat. One's complement einer negativen Zahl: 1) als positive Zahl betrachten 2) vorne mit 0en auffüllen, da es hier um 8bit geht 3) alle Bits invertieren.
Und *gegeben* ist eine Zahl im Dezimalsystem, keine 8bit-Repräsentation ihrer. Das ist schließlich die Aufgabe...
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 00:01 Mi 20.10.2010 | Autor: | Fatih17 |
Hi,
danke erstmal dass du geantwortet hast um mir zu helfen, finde das Forum ehrlich super toll! :)
Ich möchte jedoch folgendes widerlegen:
Du hast gesagt, dass ich achtlos die vorzeichen weggeworfen habe. ABer ich habe doch genau das getan was du gesagt hast, oder?
Die Binärzahl ist ja : "1111000"
Das sind doch 7Bits. Da das aber ja 8Bits sein sollen, habe ich einfach eine 0 angehängt (das Vorzeichen + sozusgen)
Daraus entstand dann "0[1111000]"
Das invertiert wäre dann "1[0000111]"
Natürlich betrachtet man nur die 7Bits, da das 8.Bit ja das Vorzeichen dann ist.
PS: Falls ich falsch liegen sollt, bitte verzeiht mir, denn ich bin Informatik Anfänger :)
|
|
|
|