Wie kann ein Computer Minus rechnen?

... komplette Frage anzeigen

9 Antworten

Der Computer unterscheidet nicht zwischen positiven und negativen Zahlen.

Zahlen mit beispielsweise 4 Bit haben einen Wertebereich von -8 bis 7.

Das erste Bit stellt das Vorzeichen dar.

Also ist die Zahl 1101 nicht 13, auch nicht -5, sondern -3.

Man errechnet sie, indem man die Zahl invertiert und dann 1 addiert:

1101 ≙ ~1101 + 1 ≙ 0010 + 1 ≙ 11 ≙ -3

Man muss auf das Vorzeichen achten (1 ≙ (-); 0 ≙ (+))

Der Computer addiert also eine negative Zahl - eine explizite Subtraktion gibt es also nicht.

Ich hoffe, ich konnte dir helfen; bei Fragen kannst du dich gerne an mich wenden. ;)

LG Willibergi

Antwort bewerten Vielen Dank für Deine Bewertung

 Selbst im billigsten Taschenrechner sind µ-Controller verbaut die bestimmte Algorithmen abarbeiten. Sie müssen ja zb auch Dezimal in Binär umrechnen weil ein Computer nur mit Binärzahlen arbeiten kann. Was diese Algorithmen machen weiß nur der Hersteller. Jedenfalls kein simples Addieren ;-)

Antwort bewerten Vielen Dank für Deine Bewertung

Doch, ein Computer kann auch subtrahieren. Die Schaltung zum subtrahieren ist ähnlich zu der Schaltung zum addieren.

Wenn es keine eigene Schaltung zum subtrahieren gibt, kann man auch mit den sogenannten Zweierkomplement addieren und den Übertrag (Carry) negieren. Also Beispiel 90 - 15:

  01011010
- 00001111

Die 15 wird jetzt negiert und +1 gerechnet. Das ist das Zweierkomplement.

00001111 | negieren
11110000 | +1
11110001

Das wird auf die 90 addiert:

   01011010
+  11110001
-----------
(1)01001011

Die 1, die vorne in Klammern als Übertrag steht wird negiert. Also wird dort eine 0 draus. Das Ergebnis ist also 01001011 (Hex: 4B), was als Dezimalzahl 75 ist.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von daCypher
01.06.2016, 13:58

Vielleicht als Ergänzung dazu: Für einen Bit-Addierer muss man eine Schaltung bauen, die folgende Wahrheitstabelle hat:

E1|E2|Cin || Cout | A
-----------------------
 0| 0| 0 || 0 | 0  0| 0| 1 || 0 | 1  0| 1| 0 || 0 | 1  0| 1| 1 || 1 | 0
 1| 0| 0 || 0 | 1
 1| 0| 1 || 1 | 0
 1| 1| 0 || 1 | 0
 1| 1| 1 || 1 | 1

Davon werden einfach mehrere verkettet. Das Cout vom niedrigeren geht immer in das Cin vom höheren Bit rein. C (Carry) ist halt der Übertrag. 

Für einen Bit-Subtrahierer sieht die Wahrheitstabelle so aus:

E1|E2|Cin || Cout | A
-----------------------
 0| 0| 0 || 0 | 0
 0| 0| 1 || 1 | 1
 0| 1| 0 || 1 | 1
 0| 1| 1 || 1 | 0
 1| 0| 0 || 0 | 1
 1| 0| 1 || 0 | 0
 1| 1| 0 || 0 | 0
 1| 1| 1 || 1 | 1

Man muss halt nur die logischen Schaltungen dazu bauen.

0

Der Computer rechnet einfach die zu subtrahierende Zahl in eine negative um. Zum Beispiel 5: positiv in binär : 0101. Negativ: 1011. Dann addiert er einfach eine andere Zahl drauf z.b. noch ne 6 und er hat das ergebnis -1

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von schmiddi201
01.06.2016, 13:31

Sorry kommt 1 raus

0

Computer können nur mit 0 und 1 rechnen, da sie den Zustand An/Aus darstellen. Du hast keine Informationen angegeben, daher lässt sich nichts Besseres antworten.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Fishmeaker
01.06.2016, 13:23

Also das stimmt nicht so richtig.

Zunächst sind 0 und 1 in einem PC nicht Strom an und Strom aus sondern definierte Spannungsstärken. Denn 0 != Nichts, oder anders gesagt: In der Informatik ist 0 auch etwas und nicht eben Nichts.

Desweiteren rechnet ein PC lediglich im Binärsystem. Es ist lediglich eine andere Darstellung von Zahlen. Funktioniert in der Logik dennoch gleich:

DEZ  BIN
0       0
1       1
2       10
3       11
4       100
5       101
6       110
7       111
8       1000
9       1001
10      1010
11       1011
12       1100
13       1101
14       1110
15       1111
...

0

Ein Computer kann mehr als nur addieren. Jeder PC kann sowohl die dir bekannten Grundrechenarten (+,-,*,/), als auch logische Rechenoperationen (AND, OR, XOR, NAND, etc.) anwenden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Willibergi
01.06.2016, 14:25

Das war ja nicht seine Frage.

DASS Computer derartige Rechenoperation durchführen können, ist ihm augenscheinlich schon klar - er wollte fragen, wie ein Computer subtrahiert.

LG Willibergi

0

Keine Ahnung was du meinst, aber wenn es nur um den Rechenschritt geht, kann ich doch

2 + (-1) = 1 rechnen.

Antwort bewerten Vielen Dank für Deine Bewertung

Subtraktion durch Addition von negativen Zahlen vielleicht

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Computer99Freak
01.06.2016, 13:23

Ist doch trotzdem minus. 4-7 oder 4 + -(7)

0

Was möchtest Du wissen?