Programmieren - alles kontrollieren 4.946 Themen, 20.742 Beiträge

Zeit für Integer/Floatrechnungen

RyoOhki / 28 Antworten / Flachansicht Nickles

Eine Frage zur Berechnung von Integer und Float werten unter C++:

sollte ein Programm länger brauchen, zwei Float zu addieren (z.B. via Add = 0,1 + 0,1) als zwei integerwerte (Add2 = 1 + 1 ) zu addieren, da es sich um Flieskommberechnungen handel?

ich habe ein Programm geschrieben das beide opperationen 40000000000mal ausführt und die zeit dafür stoppt, erhalte aber bei beiden beinahe identische Werte.

Ich meine, sollte ein PC Flieskommazahlen nicht langsammer berechnen können als Integerzahlen?

Grüße,
Ryo

bei Antwort benachrichtigen
Dreamforger RyoOhki „Zeit für Integer/Floatrechnungen“
Optionen

Normalerweise sind doch die variablen die du addieren willst im Arbeitsspeicher. D.h für die Addition ist auch ein Bustransfer nötig.
Wenn du jetzt zwei schleifen vom Typ

for (i = 0; i

durchführst sollte jeder Compiler in der Lage sein x über mehrere Iterationen in Registern zu halten.

Ich würde mal vorschlagen das du besser die Werte in großen Arrays addierst, damit du mehr Speicherzugriffe bekommst. Normalerweise werden deine Werte ja auch erst aus dem Speicher gelesen

bei Antwort benachrichtigen