Seite 1 von 1

Quotient ohne Nachkommastelle

Verfasst: 9. April 2013 20:17
von lespaul
Hallo,

ich habe double a = 19 und double b = 2

Code: Alles auswählen

double c = (double)(a/b);
Laut debugger hat c den Wert 9 ? Warum?

Ich danke allen Hinweisgebern. Mfg Lespaul

Re: Quotient ohne Nachkommastelle

Verfasst: 9. April 2013 21:16
von ScyllaIllciz
Du hast den Rückgabewerte der Division gecastet aber die Division wurde mit Integer Werten/Variablen durchgeführt.

Also entweder eine der Variablen explizit casten, natürlich c++ Cast

Code: Alles auswählen

double c = static_cast<double>(a)/b;
oder einfacher implizit casten

Code: Alles auswählen

double c = 1.0*a/b;

Re: Quotient ohne Nachkommastelle

Verfasst: 9. April 2013 23:00
von lespaul
Danke für die Antwort.

Kannst du/jemand was zur Performance sagen? Wenn ich beispielsweise solch eine Rechnung in einer for-Schleife hätte. Welche Variante wäre dann vorzuziehen? static_cast oder implizit?

ich danke!

Re: Quotient ohne Nachkommastelle

Verfasst: 10. April 2013 06:08
von ScyllaIllciz
Auf die Performance hat das keinen Einfluss. Ich nehme meistens Variante zwei, da sie kürzer ist.