Viele Divisionen haben als Ergebnis eine Zahl mit einer oder mehreren Stellen hinter dem Komma, einige dieser Nachkommazahlen sind sogar unendlich.
Beispiel 1: Teile ich 7 durch 2, so bekomme ich als Ergebnis 3,5 - eine endliche Zahl mit einer Nachkommastelle.
Beispiel 2: Teile ich 10 durch 3, so bekomme ich als Ergebnis 3,33333... - eine unendliche Zahl mit unendlich vielen Nachkommastellen.
Diese Zahlen betrachten wir an späterer Stelle nocheinmal genauer, denn hier kommt es zu einem weiteren Problem in der elektronischen Datenverarbeitung: der ungenauen Darstellung von Nachkommazahlen.
Bei der Multplikation wird ein Links-Shift durchgeführt, dementsprechend ist es logisch, dass bei der Division ein Rechts-Shift durchgeführt wird. Teile ich die Zahl 8 durch 2 ergibt das 4, in Dualschreibweise 00001000 / 00000010 = 00000100. Die Division durch 2 entspricht also einem Rechts-Shift von einer Stelle. Die Division von 8 durch 4 ergibt 2, in Dualschreibweise 00001000 / 00000100 = 00000010, also ein Rechts-Shift von zwei Stellen.
Was passiert nun aber mit Nachkommastellen? Schauen wir uns die einfache Division von 3 durch 2 an. 00000011 / 00000010 = 00000001 Der Rechts-Shift bewirkt, dass die letzte 1 rechts aus dem Zahlenbereich "herausfällt". Das bedeutet, dass alle Nachkommastellen abgeschnitten werden. Wichtig: Es wird nicht gerundet, es wird abgeschnitten. Das Ergebnis aus 3 durch 2 ist also 1!!! Diese Art der Division funktioniert jedoch nur, wenn man durch 2 oder eine Potenz von 2 dividiert. Wir kommen jedoch auch mit unserer ganz normalen "Grundschulmathematik" weiter. Hier ein Beispiel, wie man im Dezimalsystem normalerweise dividiert:
1307/11=118 Rest 9 -11 == 20 -11 == 97 -88 == 9
Wenn man diese Art der Division jetzt nach dem gleichen Schema bei binären Zahlen durchführt, dann kommt man auf das gleiche Ergebnis.
10100011011/1011=01110110 Rest 1001 - 0||||||| =====||||||| 10100|||||| - 1011|||||| =====|||||| 10010||||| - 1011||||| =====||||| 1111|||| - 1011|||| =====|||| 1001||| - 0||| =====||| 10010|| - 1011|| =====|| 1111| - 1011| =====| 1001 - 0 ==== 1001
Rechnet man die Dualzahlen jetzt wiederum in binäre Zahlen um, so kommt man wieder auf 1307/11=18 Rest 9 (siehe oben). Auch hier gilt wieder: Der Rest wird gnadenlos abgeschnitten, nicht gerundet. D.h. Der "Rest" entfällt.