Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich stehe gerade tierisch auf dem Schlauch. Und zwar möchte ich eine stinknormale Division von zwei Stinknormalen Zahlen durchführen und anschließend ausgeben.


double i = 1/2;

cout << i;

Kann mir einer sagen warum mein Programm mir nur 0 statt 0.5 ausgibt?

wenn ich 3/2 rechnen will, wird mir nur 1 ausgegeben. Kann mir jemand sagen woran das liegt??

auch wenn ich die zahlen manuell caste wird mir das gleiche ausgegeben.

Ich benutze VS C++ 2008 Express als IDE.

Geschrieben

Kann mir einer sagen warum mein Programm mir nur 0 statt 0.5 ausgibt?

Weil 1 und 2 Integer-Zahlen sind und die Wandlung in ein double erst nach dem Berechnen des Ergebnisses stattfindet. Schreibe 1.0 / 2.0 (oder 1.0 / 2 oder auch 1 / 2.0) und der double Zahl wird 0.5 zugewiesen.

Geschrieben
@bubble: das hab ich auch schon versucht, blieb aber ebenso erfolglos
Das kann nicht sein. Folgender Code gibt bei mir 0.5 aus:

#include <iostream>

int main()
{
double i = 1.0/2.0;
std::cout << i;
}[/code]

Ich habe noch nie, bei der Variablendeklaration, der Variable das Ergbnis einer Berechnung zugewiesen. Kann es vielleicht daran liegen?
Das ist eine ganz normale Initialisierung.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...