Subtrahieren im binären Zahlensystem mit negativem Endergebnis?

3 Antworten

Das richtige Ergebnis lautet NICHT 0000 0001 !

Das richtige Ergebnis IST 1111 1111

Und nur Hardcore-Informatiker sehen direkt um welche negative Zahl es sich handelt. Bei alles-Eins ist das noch leicht. Bei anderen Zahlen wird es schwieriger. Um herauszufinden um welche neg. zahl es sich handelt musst du wieder das 2er Kompliment berechnen:

1er: 0000 0000

2er: 0000 0001

Mit dem Wissen, dass es eine Negative Zahl ist, kannst du jetzt ablesen "ahhhh das ist eine minus 'Eins' "

Bitteschön :-)

Willibergi  06.06.2016, 15:13

Die Frage ist, in welcher Weise das Ergebnis dargestellt wird.

Geht es um den Betrag des Werts, so ist 0000 0001 korrekt.

Vom Prozessor wird dieser Wert natürlich als 1111 1111 dargestellt.

LG Willibergi

0
Omnivore10  06.06.2016, 15:16
@Willibergi

Das Ergebnis ist 1111 1111. Punkt. Das ist keine Darstellungsform, sondern das richtige Ergebnis! Punkt.

Das 2er Kompliment wird NUR angewendet um für den Nutzer zu wissen um welche negative Zahl es sich handelt.

0000 0001 ist keine Darstellungsform.

Ich kann in Mathe nicht hinschreiben 67-68 = 1 (nach meiner Darstellungsform). Das Ergebnis ist dann schlicht und ergreifend falsch.

0
Willibergi  06.06.2016, 15:22

"Das Ergebnis ist 1111 1111."

Nicht zwingend.

"Das ist keine Darstellungsform, sondern das richtige Ergebnis!"

Und ob das eine Darstellungsform ist!

"Das 2er Kompliment wird NUR angewendet um für den Nutzer zu wissen um welche negative Zahl es sich handelt."

Abgesehen davon, dass es ZweierKOMPLEMENT heißt, ist dies nicht die einzige Anwendung.

"0000 0001 ist keine Darstellungsform."

Doch.

"Ich kann in Mathe nicht hinschreiben 67-68 = 1 (nach meiner Darstellungsform). Das Ergebnis ist dann schlicht und ergreifend falsch."

Jenes Ergebnis ist falsch, bei der oben dargestellten Form geht es jedoch um den BETRAG des Ergebnisses, und es gilt:

|67 - 68| = |-1| = 1

LG Willibergi

0
Omnivore10  06.06.2016, 15:49
@Willibergi


|67 - 68| = |-1| = 1

Das ist nicht die Frage!!!!1111dröööölf

Die Frage lautet 67-68 und das hat eine KLARE Antwort!

Du kannst nicht einfach die Frage umdoktern, wie es dir passt. Versuche es mal, dann haut dir der Professor aber auf die Finger!

Die Frage ist 67-68!

Nicht -67 - (-68) wie du es gemacht hast

Auch nich |67 - 68|

Und auch nicht 500 - 7

Sondern klar und deutlich: 67 - 68

Diese Aufgabe hat nur EINEN Rechenweg und nur EIN Ergebnis. Punkt fertitg aus. Es gibt keine Tausend Darstellungsformen und keine "anderen Ergebnisse". Das Ergebnis lautet klar 1111 1111. Und das ist eine -1. Fertig

0
PWolff  06.06.2016, 16:02
@Omnivore10

So lange nichts über die vereinbarte Darstellung in der Aufgabe steht oder/und implizit vereinbart wurde, ist

-00000001

eine ebenso gültige Binärdarstellung.

Bloß weil sich in den letzten 60 Jahren herausgestellt hat, dass das Zweierkomplement die einfachste und am schnellsten behandelbare Art der Darstellung ist, heißt das nicht, dass das die einzige ist.

1
Omnivore10  06.06.2016, 16:13
@PWolff

Was für eine Darstellungsform?

Nochmal: Der Lehrer, Dozent oder Professor stellt die aufgabe 1-2

ich rechne:

0000 0001, denn DAS ist eine 1

0000 0010, das ist eine 2

Problem: Der Prozessor kann nicht subtrahieren. Also muss ich mit dem Zweierkomplement addieren.

Also mach ich aus -(2) eine (-2):

(1) 1111 1101
(2) 1111 1110

jetzt addieren:

0000 0001
+1111 1110
----------------
1111 1111 --> ERGEBNIS

Nanu....welche Zahl ist das denn nun? Ach ganz einfach. Ich mach aus der (-?) eine -(+?)....supi....Zweierkomplement:

(1) 0000 0000
(2) 0000 0001

ahhhhh es ist also eine (-1)

-----------------------

So, DAS ist der richtige Rechenweg. Alles andere ist falsch. Dafür gibt es 4 Punkte plus Zusatzpunkt, weil du noch rausgefunden hast um welche neg. Zahl es sich handelt.

Da kannst du dich über Darstellungsformen unterhalten wie du willst: 1-2 ist -1 und NIEMALS 1! Wer die Ausgangsfrage verfälscht oder noch rumdiskutiert ("meinst du das oder das?") wird es im Informatik-Studium nicht leicht haben.

Die Frage ist klar und deutlich gestellt und darauf gibt es nur eine klar und deutliche Antwort! Und 0000 0001 ist nicht das Ergebnis! (Darstellungsform hin oder her) 0000 0001 ist einzig und alleine das Zweierkomplement der negativen Zahl 1111 1111.

Ich weiß nicht was es hier echt noch zu diskutieren gibt?

0
Omnivore10  06.06.2016, 16:19
@PWolff

PS: implizit kann man nichts vereinbaren. Implizit steht was fest.

Implizit ist jedes Verbrechen im Versuch strafbar

Bei Vergehen muss es explizit dazustehen.

0

Ok. neuer Versuch.
Die Rechnung ist korrekt. Das Ergebnis 11111111 ist nämlich die Darstellung von -1 im Zweierkomplement.

Denn 67-68 sollte -1 ergeben.

Willibergi  06.06.2016, 15:00

Nein - 68 ist nicht 64 + 7!

LG Willibergi

0
scatha  06.06.2016, 15:05
@Willibergi

Sorry. Hab's zu schnell abgeschickt, dann gemerkt und danach nicht schnell genug gelöscht.

0

Kann man überhaupt ein negatives Ergebnis im Binärcode anzeigen?

Willibergi  06.06.2016, 14:54

Na klar. ^^

LG Willibergi

0
scatha  06.06.2016, 14:56

Alles immer grundsätzlich eine Frage der Vereinbarung. Prozessoren stellen normalerweise negative Zahlen im 2-er Komplement dar, das funktioniert ungefähr so wie ein Zähler, der rückwärts läuft; nach 00000 kommt 99999
Eine andere Möglichkeit wäre theoretisch ein zusätzliches Flag, damit ist jedoch etwas umständlicher zu rechnen, weil man (also der Prozessor) immer vorher prüfen müßte.

0
scatha  07.06.2016, 11:31
@scatha

Der Vorteil des 2-er Komplementes ist es, daß der Prozessor sich überhaupt nicht darum kümmern braucht, ob eine Zahl positiv oder negativ ist. Er rechnet richtig, wenn er einfach nur addiert. Es sei denn, es gibt einen Überlauf. "Zu Einzelheiten fragen Sie bitte Ihren Informatiklehrer."

0
Omnivore10  06.06.2016, 15:01

logisch geht das

0