Zahl in dual darstellen zweierkomplement?
-
Also, die Zweikomplementdarstellung sollte doch richtig berechnet sein, oder?
1000000 0111111 + 1 --------- 1111111
Wenn ich nun die Dezimalzahl ausrechne die dahinter steckt, dann sieht die so aus:
26+25+24+23+22+21+2^0=127
Ich komme somit wieder auf die gleiche Zahl...
-
1+1=1?
-
Verdammt
1000000 0111111 +11111111 --------- 10000000
10000000 = 128
Gut, dann kommt jetzt nach der Zweikomplementbildung 128 raus. Aber weiter bringt mich das immer noch nicht!
Wenn ich die 128 jetzt auf zwei "intervalle" aufteile, dann könnte ich ja sagen -64 - +64.
Nun das ist vermutlich aber immer noch falsch, da die 0 die hier ebenfalls im "Intervall" liegt mir dann 129 Zahl ergeben würde.
Wird die Null die ja dabei sein muss als positiv gezählt? Nur so könnte ich mir dann das Ergebnis von -64 - +63 vorstellen...
-
Schon wieder falsch gerechnet. Die ursprüngliche Zahl darfst Du natürlich NICHT mitaddieren.
-
1000000 <- ursprüngliche Zahl 0111111 <- ursprüngliche Zahl invertiert + 1 <- Addition von 1 111111 <- Überträge --------- 1000000 <- Ergebnis
So stimmts aber jetzt...
1000000 = 64
Was bedeutet das jetzt?
-
Wo kommt denn der letzte Übertrag her?
-
Überschneidung der Antworten?
-
Wie deute ich jetzt das 64 bezüglich meiner Antwort für die Aufgabe?
-64 - +63
Woher weiß ich nun, dass man das Ergebnis des Zwiekomplements im Minusbereich "ganz" schreiben darf und ab dem Plusbereich die 0 dazu kommt und so deshalb nur bis 63 geht?
Zitat von lustig:
Es gibt einen Unterschied von "85 im Zweierkomplement darstellen" und "das Zweierkomplement von 85 berechnen".
Kann mir das einer mal erklären? Ich meine den Unterschied von "85 im Zweierkomplement darstellen" und "das Zweierkomplement von 85 berechnen".
Wenn ich das Zweikomplement von +85 berechne, hab ich dann die Darstellung von -85 durch das Zweikomplement?
-
Tze, tze, einfach editieren, nachdem ich schon geantwortet hab ^^
bandchef schrieb:
Wie deute ich jetzt das 64 bezüglich meiner Antwort für die Aufgabe?
1000000 = -64 ist die kleinste Zahl (im Zweierkomplement). 0111111 = 63 die größte
-64 - +63
Woher weiß ich nun, dass man das Ergebnis des Zwiekomplements im Minusbereich "ganz" schreiben darf und ab dem Plusbereich die 0 dazu kommt und so deshalb nur bis 63 geht?
0000000 = 0 hat das oberste Bit nicht gesetzt, gehört also sozusagen zu den positiven (besser: nicht-negativen) Zahlen.
Zitat von lustig:
Es gibt einen Unterschied von "85 im Zweierkomplement darstellen" und "das Zweierkomplement von 85 berechnen".
Kann mir das einer mal erklären? Ich meine den Unterschied von "85 im Zweierkomplement darstellen" und "das Zweierkomplement von 85 berechnen".
Das Zweierkomplement berechnen heisst: Jedes Bit invertieren und 1 addieren.
Im Zweierkomplement darstellen heisst: Wenn die Zahl negativ ist das Zweierkomplement des Betrags bilden, ansonsten die Zahl so lassen, wie sie ist.
Wenn ich das Zweikomplement von +85 berechne, hab ich dann die Darstellung von -85 durch das Zweikomplement?
Genau.
-
1000000 = -64 ist die kleinste Zahl (im Zweierkomplement). 0111111 = 63 die größte
Diese 1000000 = -64 entspricht ja rechnerisch 2^6=64. Ist hier also quasi da höchstwertigste Bit das Vorzeichen und zugleich das zu berechnende Bit. Ich kann das grad nicht so dolle Ausdrücken, aber ich denke du weißt was ich meine, oder?
Bei 0111111 = 63 ist das höchstwertigste Bit wieder das Vorzeichen (hier ja ein 0 und somit +) und dieses höchstwertigste Bit zählt aber nicht als zu "berechnende Stelle" weils ja 0 ist und eine 0 bei der Berechnung keine Auswirkung hätte.
Stimmt doch soweit, oder?
-
Ich denke du solltest das Problem anders betrachten (ich verstehe nicht so ganz was du meinst mit "berechnende Stelle" und Bits die nicht zählen).
Für den Wertebereich suchst du einfach die grösste und die kleinste Zahl die du mit 7 Bits darstellen kannst. Schreib dir mal alle Zahlen für z.B. 4 Bits auf, dann verstehst du sicher einfacher wie das Zweierkomplement funktioniert.
Beim Zweierkomplement ist bei positiven Zahlen (und bei 0) das MSB immer 0. Positive Zahlen werden "ganz normal" dargestellt, so wie du es ja auch im Beispiel berechnet hast. Also ist die grösste Zahl 0 [Vorzeichen] 111111[Grösste Zahl mit den verbleibenden 6 Bit]. Also ist 0111111=63 die grösste Zahl.
Dann musst du dir noch überlegen, wie die kleinste Zahl aussieht. Die Lösung wurde ja schon gegeben (1000000=-64).