division ganzer zahlen im dualsystem
-
wie dividiere ich ganze zahlen im 2er komplement im dualsystem?
wie berücksichtige ich vorzeichen und rest?
kann mir einer ein beispiel geben?
und warum geht hier kein tex?
-
wie dividiere ich ganze zahlen im 2er komplement im dualsystem?
Am einfachsten wie in der Schule:
1000 : 10 = 100 10 -- 00 0 - 00 0 - 0 Rest.
wie berücksichtige ich vorzeichen und rest?
Verstehe die Frage nicht: Minus mal Minus ergibt Plus, ganz einfach.
Der Rest bleibt als Zähler über dem Nenner, wie immer.
-
so um meine frage zu verdeutlichen:
zu dividieren:
-4 : 2 = -2
im 4 bit system:1100 : 0010 = ?
wie mach ich das? wie handle ich die 2 nullen von der 2?
zu erwarten wäre ja 1110
-
Aber ein 4-Bit-System verwendet keiner.
Deshalb hättest du noch Nullen dazwischen.Man kann zwar damit tricksen, die negativen Zahlen als ganz große aufzufassen,
allerdings würde ich davon abraten -- wozu auch? Ich würde eine Funktions sign
einführen, die entweder +1 oder -1 zurückgibt, und dann dazumultiplizieren.
Vielleicht bist du gerade auf einem Microprocessor unterwegs, dann würde ich solche
Optimierungen verstehen. Sie sind aber eigentlich nicht nötig.wie handle ich die 2 nullen von der 2?
Lass sie einfach ganz weg für deinen Algorithmus.
-
shisha schrieb:
zu dividieren:
-4 : 2 = -2
im 4 bit system:1100 : 0010 = ?
wie mach ich das? wie handle ich die 2 nullen von der 2?
zu erwarten wäre ja 1110du schiebst das ganze einmal nach rechts. aber das bit ganz links behält dabei seinen vorherigen wert. ansonsten: http://academic.evergreen.edu/projects/biophysics/technotes/program/2s_comp.htm#divide
-
naja ich MUSS etwas verwenden das ich im moment nicht ganz verstehe vlt kann es mir ja einer erklären:
A Q M=0011
1111 1001
1111 0010 shift
+0011 add
0010
1111 0010 restore
1110 0100 shift
0001 add
1110 0100 restore
1100 1000 shift
1111 1001 add / Q0=1
1111 0010 shift
0010 add
1111 0010 restore
1110 Negieren des Quotienten
Rest(-1) Quotient(-2)das steht in unsrem skript als beispiel keine ahnung was da gemacht wird .
-
shisha schrieb:
das steht in unsrem skript als beispiel keine ahnung was da gemacht wird
im skript steht doch bestimmt noch mehr dazu. mit dem da^^ allein kann man (bzw. ich jedenfalls), nix anfangen.