Windows 10: Der Taschenrechner berechnet Wurzeln nun doch noch richtig

Frank Hüber
101 Kommentare
Windows 10: Der Taschenrechner berechnet Wurzeln nun doch noch richtig
Bild: STA82 | CC0 1.0

Rund zwei Jahre hat es gedauert, bis Microsoft dem Windows-Taschenrechner das Ziehen der Quadratwurzel beigebracht hat. Auch die Berechnung der Quadrat- und Kubikwurzel aus einem perfekten Quadrat oder Kubik soll nun ohne Rundungsfehler möglich sein, wie Raymond Chen, Entwickler bei Microsoft, in einem Blog-Eintrag bekannt gibt.

Die Wurzel allen Übels lag dabei in der Art und Weise, wie die Berechnungen auf einem Computer durchgeführt werden. Denn während die dritte Wurzel aus 64 offensichtlich 4 ist, war dies aufgrund von Darstellungs- und Rundungsfehlern bei der Berechnung mit Fließkommazahlen im Windows-Taschenrechner nicht der Fall. Anstatt zunächst zu prüfen, ob die Lösung eine ganze Zahl ist, hat der Taschenrechner immer mit Fließkommazahlen mit 32-stelliger Genauigkeit gerechnet. So lieferte auch die Wurzel aus Vier abzüglich 2 im Windows-Taschenrechner nicht etwa Null als Ergebnis zurück, sondern −1.068281969439142e−19. Genau diese Zahl trugen Mitarbeiter nun auch auf einem T-Shirt während einer internen Veranstaltung, als die Beseitigung des Fehlers bekannt gegeben wurde.

Der Rechenaufwand steigt erheblich

Die Behebung des Fehlers geht allerdings auf Kosten der Geschwindigkeit des Taschenrechners und zwar in einem durchaus erheblichen Maße. Für den Benutzer bewegt sich der zusätzliche Rechenaufwand dabei allerdings in einem vernachlässigbaren Rahmen, denn er liegt lediglich bei wenigen Millisekunden. Da der Windows-10-Taschenrechner kein Performance-sensitives Programm sei, sei dies zudem irrelevant.

Die Lösung des Fehlers nennt Microsoft nicht

Wie Microsoft den Fehler nun behoben hat, darauf geht Raymond Chen indes nicht näher ein. Die zeitliche Verzögerung, die nun entsteht, könnte durch die vorgelagerte Prüfung entstehen, ob das Ergebnis eine ganze Zahl ist, allerdings würde dies keinen erheblichen Rechenaufwand erzeugen, von dem Microsoft spricht, sondern nur mehr Zeit in Anspruch nehmen.