Frage von thequestiona, 46

Verrechnet sich ein Computer?

Antwort
von PWolff, 46

Sehr selten und normalerweise nicht.

Es ist nie 100%ig ausgeschlossen, dass zufällige Effekte wie kosmische Strahlung, Überspannungen im Stromnetz, Quantenfluktuationen, "Übersprechen" zwischen Datenkanälen u. ä. in dieselbe Richtung wirken und ein Bit umkehren. Wenn das während einer Rechenoperation passiert, verrechnet sich der Computer natürlich.

Dann gibt es natürlich auch von Menschen verursachte Fehler:

Zu trauriger Berühmtheit hat es im Jahr 1994 der damals neue Pentium gebracht: http://www.heise.de/newsticker/meldung/20-Jahre-FDIV-Bug-Ein-Prozessor-Rechenfeh...

Auch manche Funktionsbibliotheken sind nicht fehlerfrei und ungeprüfte Verwendung führt zu falschen Ergebnissen.

Ich hatte mal einen Taschenrechner (Casio fx-irgendwas, 7600g oder so), der beim Potenzieren unter bestimmten Umständen nur logarithmierte und den Logarithmus als Ergebnis der Potenz zurückgab.

Weiterhin gibt es prinzipbedingte Fehler:

Die Genauigkeit von Fließkommazahlen (Zahlen, die keine ganzen Zahlen sind) ist beschränkt, sodass kleinere Abweichungen unvermeidlich sind.

Diese treten gern zusammen mit menschlichen Fehlern (menschlicher Unachtsamkeit, Unwissen) auf:

Wenn ein Programmierer nicht aufpasst, kommt es immer wieder vor, dass das Programm Differenzen nahe beieinander liegender Zahlen bildet und womöglich noch durch diese teilt. (Beispiele siehe Artikel zur Numerischen Mathematik und Programmierlehrbücher)

Absichtlich geht es aber auch:

Einem sogenannten Formelmanipulator kann man z. B. beibringen, dass 2 + 2 = 5 ist. Jedesmal, wenn in einer Berechnung 2 + 2 auftaucht, ersetzt das Computerprogramm diesen Ausdruck gehorsam durch 5.

Antwort
von hypergerd, 17

Ein "Verrechnen" wie beim Menschen gibt es nicht, da der PC nur das befolgt, was man ihm eingibt (wissenschaftliche Gesetze kann er nicht umgehen).

Man muss zwischen verschiedenen Fehlern unterscheiden:

a) Algorithmus-Fehler: Es gibt viele Algorithmen zur Berechnung von Pi. Viele sind bis heute nicht 100%bewiesen. Dafür gibt es Validierungs-Berechnungen: mindestens alle 1 Mio. Stellen werden Hex-Stellen des bewiesenden BBP-Algorithmusverglichen. Einmal passierte es, dass ab der 19000. Nachkommastelle andere Ziffern kamen.Ursache: Algorithmus war für eine andere Konstante, die extrem dicht neben Pi lag.

b) Software-Fehler: Bei komplizierten Berechnungen kann ein Software-Ersteller schon mal einen "Überlauf" übersehen:Jeder Variablen-Typ hat eine Obergrenze. Wird diese bei Zwischenergebnissen erreicht, gibt es 3 Arten der Reaktion:Abschneiden, UMLAUFEN (nach der größten kommt die kleinste negative), Fehlermeldung

Auch die Fehlerfortpflanzung und dessen richtige Interpretation ist wichtig: ich musste mal auf über 200 Stellen nach dem Komma genau rechnen, damit das Endergebnis auf 1 Nachkommastelle stimmte! Rundungsfehler sind kein "Verrechnen", sondern eine falsche Interpretation des Menschen vor dem PC! Dann gibt es Multithreading: Gute CPUs haben mehrere logische Kerne, mit denen Teil-Berechnungen parallel angestoßen werden.Die Software muss hier besonders "sauber" gegeneinander "verriegelt" werden, damit es untereinander keine Beeinflussung gibt.Hier kann ein Fehler auch noch nach Tagen auftreten (kurzer Test reicht nicht für "alles OK" )!

c) CPU- oder FPU-Fehler (Hardware): http://www.gerdlamprecht.de/GrobeFPU_Fehler.htm

§1 Pentium-FDIV-Bug: kein kleiner Rundungsfehler, sondern statt auf mindestens 14 Stellen genau zu rechnen hatte diese Spezielle INTEL-CPU manchmal nur 4 genaue Nachkommastellen -> Garantie-Fall!

§2: der FSIN-Befehl aller mir bekannten CPU-Hersteller ist trotz der 80-Bit (theoretische 19 Stellen) so ungenau,dass einige Hersteller wie der Chrome-Browser diesen Maschinenbefehl umgehen! Ab Argumenten von 9.3e18 wird einfach Output zu Input, d.h. es wird nichts berechnet! Auch Taschenrechner sind bei komplizierten Funktionen oft viel ungenauer als die Anzahl der Anzeigestellen siehe LINK!

d) Hardware-Überlastung oder Lebensdauer-Überschreitung: Einige Spiele-Optimierer treiben die Taktrate so extrem hoch, dass die Flanken der Maschinenbefehle außerhalb der Toleranzgrenze geraten(oder thermische Überlastung). Auch RAM oder Festplatte leben nicht ewig. Beim Weltrekord der Pi-Berechnung mussten mehrere Festplatten ausgetauscht werden! Solange Du jedoch Deine Taktrate nicht extrem an die Grenze treibst und nicht über 100 Tage rechnest, tritt dieser Fehler sehr selten auf.

Kommentar von hypergerd ,

Falls jemand durch andere CPU oder Browser beim Test

http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0120  

starke Abweichungen zu den 6 Ergebnisbildern (LINK von oben GrobeFPU_Fehler.htm )

hat, würde mich das sehr interessieren. (da ich nicht alle CPU und Browser privat habe; Handy mit Internet funktioniert auch:  iPad hatte ich aber schon)

Antwort
von Parhalia, 39

Es gab tatsächlich schon mal Vorfälle, in denen sich der Hauptprozessor selbst durch fehlerhafte interne Programmierung verrechnen konnte. 

Eines der bekanntesten Beispiele war hier die erste Generation von Intels Pentium. Die erste Revision dieser CPUs rundete ab der 3. oder 4. Nachkommastelle im Fliesskommabereich tatsächlich falsch, was zu einer weltweiten Rückrufaktion betroffener CPUs führte.

Davon abgesehen beruhen mögliche Berechnungsfehler meist softwareseitig auf fehlerhafter Programmierung oder noch seltener auf defekter / überhitzter Hardware. Letzteres führt meist zu Abstürzen des Systems.

Antwort
von Wischkraft1, 27

Verrechnet. Man müsste wissen, was man darunter verstehen will. Ungenauigkeiten sind definitiv da, keine Frage. Kommt daher, dass Computer nur zwei Begriffe kennen: Aus und Ein. Daraus stellt man Zeichen her wie beim Morsen. Da ist die Lampe auch entweder ein oder sie ist aus, dazwischen sind noch Pausen. Das ist das Binäre System Binär=2. Wir nutzen das Zehnersystem. Dezimalsystem 0-9. Schon allein dadurch entstehen (können entstehen) 'Übersetzungsfehler'. Viele Computer rechnen mit dem Hexadezimalsystem (16 Zeichen).
Dann wird gerundet, was die Hauptsächlichsten Fehler entstehen lässt. Ergibt eine Rechnung .31, kann der Computer (je nachdem wie programmiert und für was, auf .30 runden. (Verkaufsgeschäfte können ja auch  .99 runden auf .95 z.B. ) Grosse Zahlen müssen praktisch, der Kapazität der Computer entsprechend, auf- oder abrunden, was dann letztendlich, wenn viel mit grossen Zahlen gerechnet wird, zu Fehlern führen kann. Somit rechnen Computer falsch, es können Fehler entstehen. Kam wiederholt in der Raumfahrt schon vor.

Expertenantwort
von Marbuel, Community-Experte für Computer, 22

Wenn er funktioniert, dann eigentlich nicht, dennoch rechnet ein Computer ungenau. Hierzu kannst du dir mal anschauen, wie ein Computer rechnet. Hier ein Artikel: http://scienceblogs.de/von_bits_und_bytes/2011/09/07/gleitkommazahlen-warum-comp...

Antwort
von AtotheG, 44

Nein, die Ursache eines Fehlers sitzt zu 99% VOR dem Bildschirm.

Expertenantwort
von SpitfireMKIIFan, Community-Experte für Computer, 23

Solange der Prozessor technisch in Ordnung ist, rechnet er IMMER richtig. Wenn er bei der Aufgabe "2+2" nicht 4, sondern 5 herausbekommt, liegt das eher am Programmierer oder Anwender.

Antwort
von Kreuzzzfeuer, 35

Das kommt darauf an. Manchmal sind einige Prozesse asynchron, da können Fehler entstehen. Außerdem natürlich, wenn der Rechner falsch eingestellt ist (z.B. wenn du eine Dualzahl mit einer Hexadezimalzahl addierst, kommt etwas falsches raus).

FEHLER SIND NIENAUSGESCHLOSSEN!

Antwort
von PK2662001, 15

Ohne externe Einflüsse (Überspannung, Stromausfall, Spannungsschwankungen), nein.

Antwort
von GoldenerDrache, 32

Ich glaube nicht, dass sich ein Computer verrechnet.

Antwort
von WosIsLos, 31

Es gab mal einen 486er von Intel mit einem Kalkulationsfehler.

Kommentar von PWolff ,

Pentium. Such mal nach Pentium-Witzen.

Kommentar von WosIsLos ,

Kann auch sein, ist schon ewig her.

Antwort
von LiemaeuLP, 18

Jedenfalss seltener als du 😀

Antwort
von michele1450, 28

nein außer man gibt was falsches ein oder ein programmier fehler 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten