Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » integer teilen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.03.2004, 11:41 Uhr
RedEagle



Wie kann ich Integer-werte teile??
z.B.
2 ÷ 3 = 1
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.03.2004, 11:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


so wie immer

C++:
int erg=5%2; //so steht der rest in erg also eine 1
int erg=5/2; //so rundet der immer ab es bleibt also eine 2


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.03.2004, 12:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


und wenn du float/double nimmst bekommst du ungefähr 2.5000002312423340
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.03.2004, 12:50 Uhr
RedEagle



@ windalf: Danke
@ Flosoft:
5 ÷ 2 ~ 2.5000002312423340
Warum wird das "so" ungenau ausgerechnet??
--
MFG RedEagle

Dieser Post wurde am 14.03.2004 um 12:50 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.03.2004, 13:29 Uhr
Pablo
Supertux
(Operator)


Das passiert, weil wenn Float benutzt werden, (fast) immer zu Rundungsfehlern kommt, da Double/Float beschränkt sind, d.h. sie können verdammt viele Zahlen mit Nachskommastellen darstellen, aber leider nicht alle. Und deshalb kommt es zu den Rundungsfehlern und solche Sachen passieren.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.03.2004, 13:45 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ui geiler satz pablo

2.5 ist eben ungleich 2.50
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.03.2004, 14:05 Uhr
Pablo
Supertux
(Operator)


Ja, ich weiß, ein bisschen unverständlich, aber was soll's! Hauptsache versteht man, was ich damit meine
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.03.2004, 14:25 Uhr
RedEagle



Ok
danke
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
31.03.2004, 07:30 Uhr
~Aldebaran
Gast


hallo

bin zwar kein prof....
denke aber explizite typumwandlung hilft hier um genau 2.5 zu erhalten

hoffe habe das problem auch richtig gedeutet


int a = 5, b = 2; //unsere int werte
double x;
x = (double)a/b; //hier wird a expliziet zu double konvertiert (b auch)


gruesse Aldebaran
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
31.03.2004, 13:43 Uhr
ao

(Operator)



Zitat:
~Aldebaran postete
denke aber explizite typumwandlung hilft hier um genau 2.5 zu erhalten
int a = 5, b = 2;
double x;
x = (double)a/b;

Nur so genau, wie es im double-Format darstellbar ist. Merke: Fließkomma-Arithmetik ist *immer* nur auf X Stellen genau (X = Mantissenlänge in der jeweiligen binären Darstellung, also implementierungsabhängig). Was mehr als X Stellen benötigt, wird gerundet und ist nicht mehr exakt.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: