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

Informatiker Board » Themengebiete » Sonstige Fragen » Negieren von 8 Bit Zweierkomplementzahlen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Negieren von 8 Bit Zweierkomplementzahlen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
info3000
unregistriert
Negieren von 8 Bit Zweierkomplementzahlen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo, meine Aufgabe lautet:

Negieren Sie folgende 8 Bit Zweierkomplementzahlen

1) 00000000
2) 00111001
.....

Ich habe das Gefühl, es ist eine einfache Aufgabe. Allerdings weiss ich nicht, wie ich vorgehen muss.

Meine Ideen:
-
01.11.2015 09:18
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich interpretiere die Aufgabenstellung als "Bilden Sie das Zweierkomplement".
Alle Bit invertieren, dann 1 draufaddieren
1) 00000000
invertiert: 11111111
+1: 00000000
Die Zahl ist 0. Ändert man das Vorzeichen, hat man -0, was aber das selbe wie +0 ist.

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 17:08 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

wenn ich bei 11111111 eins dazu addiere erhalte ich:

100000000

Muss ich hierbei die 1 vorne weglassen? wieso ?
01.11.2015 17:13
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Da kommt der Überlauf ins Spiel. Du hast nur 8 Bit.

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 17:15 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

danke.

Ich habs jetzt mit dem zweiten gemacht:

00111001

negiert: 11000110

1 addiert: 11000111

in Dezimal umgewandelt: 199

ist das richtig?
01.11.2015 18:07
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dezimal ist das die Darstellung für -57. Unsigned wäre es 199, da hast du Recht.

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 18:09 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

das habe ich jetzt leider nicht verstanden...

Wie komme ich auf -57?

Ich muss doch letztlich mein negiertes 8 bit Komplement in Dezimalzahlen umwandeln.

Und das ist doch eigentlich 199 oder?
01.11.2015 18:56
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn die Zahl in Komplementdarstellung gespeichert wird und das erste Bit eine 1 ist, ist die Zahl negativ.
Um den Betrag zu erhalten, musst du den Betrag des Komplements berechnen:
00111001 = +57
11000111 = -57

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 18:59 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ok ich habe jetzt mal eins selber gemacht:

10101011

negiert:
01010100

1 addiert:

01010101

Beträge der Komplemente:

10101011 = -85

01010101 = 85

Bin ich dann durch? Und ist diese Schreibweise ok so?
01.11.2015 19:30
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Passt alles. smile

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 19:31 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

super danke dir. smile

In der nächsten Aufgabe muss ich Zweierkomplementzahlen auf 8 Bit erweitern bzw. reduzieren. Ich bin folgendermaßen vorgegangen:

die Zahl 1000

auf 8 Bit erweitern:

1000+1 = 10000
10000+1 = 100000
100000+1 = 1000000
1000000+1 = 10000000

geht das so?
01.11.2015 19:38
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ou ich meinte ich muss dementsprechend immer das addieren was ich als ergebnis habe also:

1000+1000 = 10000
10000+10000 = 100000
100000+100000 = 1000000
1000000+1000000 = 10000000
01.11.2015 19:40
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was ist der Wortlaut der Aufgabe?

1000 könnte entweder 8 sein (als 00001000 für eine 8Bit Zahl) oder -8 (wenn die Zahl mit nur 4 Bit gespeichert wird).

Zweiteres wäre mit 8 Bit dann 11111000 = -8

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 19:44 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info3000
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also die aufgabe lautet wort wörtlich:

Erweitern bzw. reduzieren Sie folgende Zweierkomplementzahlen auf 8 Bit
01.11.2015 19:51
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich würde zu 00001000 tendieren, bin mir aber auch nicht sicher, wie das gemeint ist.

__________________
Syntax Highlighting fürs Board (Link)
01.11.2015 19:54 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » Negieren von 8 Bit Zweierkomplementzahlen