Code:
Beispiel:
1111
----
110
Der Nenner wird erst nach links geschoben, bis das obere Bit mit dem Zähler übereinstimmt:
1111 Q=0
----
1100
Der Nenner ist kleiner als der Zähler, passt also genau 1x rein und kann abgezogen werden.
Aber wir ziehen nicht den Nenner ab, sondern 2^1 mal den Nenner, weil wir ihn einmal
nach links geschoben haben. Diese 2 wird zum Quotenten Q dazugezählt,
also Bit 1 von Q gesetzt
0011 Q=10
----
1100
Der Nenner kann jetzt nicht mehr reinpassen (wegen Zweiersystem) und wird 1 nach rechts geschoben
0011 Q=10
----
110
er passt nicht rein, Bit 0 von Q bleibt also 0
Bei einer Ganzzahldivision sind wir schon fertig. Der Quotient ist 2 und der Rest ist 3 (Zähler)
Test: 15 = 2*6+3
Wenn wir aber weitermachen:
0011 Q=10
----
11
Passt der Nenner wieder rein. Wir sind jetzt bei Bit -1 von Q, also bei der ersten Nachkommastelle.
Nenner abziehen und Bit -1 von Q setzen, bzw 2^(1/2) zu Q addieren:
0000 Q=10.1
----
11
Wir sind fertig, weil der Rest 0 ist: Q=2.5
Test: 15 = 2.5*6
Lesezeichen