Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Eingabeproblem - Bin langsam ratlos

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 ] > 2 <
010
27.11.2003, 20:56 Uhr
Hans
Library Walker
(Operator)



Zitat:
Pablo Yanez Trujillo postete
Aber wenn du zum Beispiel 4.4 und 4.6 speicherst und beide sollen verglichen werden? Dann wird 4.6 und 4.4 akzeptiert, obwohl du die eine oder die andere willst. Probiera mal das!

C++:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    float x = pow(2,32); // 2^32
    cout << (int) x << endl;
    return 0;
}



Welchen Wert wird denn ausgegeben?
Hi Pablo,

das ist ja merkwürdig! Ich habs gerade mal ausprobiert, weil ich neugierig war. Hier das Ergebniss:

Code:
D: \borland\CommandLine\own>bcc32 pow.cpp
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
pow.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

D: \borland\CommandLine\own>pow
0

D: \borland\CommandLine\own>

Wenn ich aber genauer drüber Nachdenke, ist es wieder klar: Da die ints ja 32Bit breit sind, ist die grösste damit darstellbare Zahl ja 2^32-1. Um die 2^32 als int darstellen zu können braucht es ja 33 Bit, d.h. long ints oder ein 64Bit-System...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 27.11.2003 um 20:57 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
27.11.2003, 21:03 Uhr
Pablo
Supertux
(Operator)


Was ich zeigen wollte war folgendes. float und double sind nicht nur da, um Fließkommazahlen darzustellen. Man kann damit auch sehr große Zahlen, wie 2^32 dartsllen. Aber wenn du das in int umwandelst, dann kriegst du eine btragmäßige Große Zahl, aber negativ. So könnte es sein, dass 2 Werte das gleiche liefern obwohl man etwas anderes will. Das mit dem Epsilon-Schlauch ist das beste, meiner Meinung nach.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


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: