Probleme mit long-Datentyp
lima-city → Forum → Programmiersprachen → C/C++ und D
bibliothek
bit
compiler
division
double
frage
helfen
hilfe
http
klasse schreiben
passen
problem
produkt
sache
speichern
unendlichen zahlen
vergessen
verwenden
vorzeichen
zahl
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Falsch!
(signed) long:
(2^32)/2 - 1 = 2.147.483.647
nimm double!
MfG
Beitrag geändert: 14.10.2008 23:22:12 von koslo -
du hast vergessen, das es auch noch ein Vorzeichen gibt!
Bereich:
sigened int: von –2.147.483.648 bis +2.147.483.647
unsigned int: von 0 bis 4.294.967.296
long long: von –9.223.372.036.854.755.807 bis +9.223.372.036.854.755.807
Du könntest also den Datentyp "long long" verwenden ;)
http://openbook.galileocomputing.de/c_von_a_bis_z/c_007_003.htm (ganz unten) -
das sind die einfachsten Datentypen, die sind nun ma nicht größer. ansonsten gibt es evt. auch eine bibliothek für größere zahlen (musste ma googlen oder dir selbst einen datentyp bauen, der deinen ansprüchen genügt.). Ich weiß, dass es in java solche datentypen gibt (BigInteger, Big..., ...), vielleicht auch für c.
-
Du kannst dir eine Klasse schreiben für unendlich große Zahlen! Dann hast du keine Probleme mehr mit der Größe. Habe ich auch gemacht als mir long long zu klein war; leider ist sie noch nicht ganz ausgereift für die Veröffentlichung, aber bald kannst du sie dir auf meiner Homepage herunterladen.
-
hatte im reinen c auch solche klasse mit "unendlichen" zahlen geschrieben.
wenn du noch hilfe brauchst, kann ich dir auch helfen. am besten is die division solcher zahlen.
MfG
Wie hast du denn bitte in C eine Klasse gschrieben? -
war klar das die frage kommt :-)
damit meinte ich progrämmchen
das könnte ich aber ma in c++ portieren. schön mit operanten-überladung und den ganzen schnick schnack.
Beitrag geändert: 15.10.2008 17:25:32 von koslo -
du hast vergessen, das es auch noch ein Vorzeichen gibt!
ne das hab ich nicht ;) ich habe nur iwie gedacht, dass long 64-Bit wäre und nicht, dass long und int beide 32-Bit sind.
Jetzt weiß ich wie es geht, vielen Dank. 64-Bit reichen mir übrigens aus, da ich das Produkt von zwei Integern speichern muss. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage