String to long, hilfe
-
bzw. wie geht es richtig?
Mit
long
wird das nix, weil du nicht garantieren kannst, dass deine Zahl im Wertebereich vonlong
ist.
Nimm einfach(u)int_least64_t
aus der<cstdint>
, wenn du darfst.
Sonst musst du halt einfach kleinere Zahlen zum Probieren nehmen :xmas1:P.S.: Der Aufgabensteller hat wohl nix kapiert
-
Sone schrieb:
P.S.: Der Aufgabensteller hat wohl nix kapiert
Die Erfahrung lehrt, dass Sone nach solchen Sätzen in 99% der Fälle mit eingekniffenem Schwanz davon rennt. Kapiert hat er das aber noch nicht.
-
machs halt länger long long :xmas2:
-
Ist ein
unsigned long
einlong
im Sinne der Aufgabe?
Könnte klappen...
-
mal nicht abschweifend:
@TE: dein denkansatz ist vollkommen richtig. du schiebst deinen string in den stringstream und holst ihn (wie bei einer benutzereingabe) da auch wieder raus. dass die zahl nicht passt ist ein ganz anderes thema, von daher sollte das problem gelöst sein.
wenn nicht, lösungsvorschläge wurden genannt mit long long und unsigned long long und even longer und was weiss ich
-
otze schrieb:
Sone schrieb:
P.S.: Der Aufgabensteller hat wohl nix kapiert
Die Erfahrung lehrt, dass Sone nach solchen Sätzen in 99% der Fälle mit eingekniffenem Schwanz davon rennt. Kapiert hat er das aber noch nicht.
Was zum Teufel redest du da? Was soll ich nicht kapiert haben? Es ist doch offensichtlich, dass der Aufgabensteller denkt,
long
kann auf jeder Maschine mindestens 18-stellige Dezimalzahlen speichern, was natürlich Blödsinn ist.
-
desariel schrieb:
laut aufgabe und rechnung passen 18 zahlen in ein long.
Sollten sogar ein paar milliarden gehen.
-
24234234.3242342. schrieb:
desariel schrieb:
laut aufgabe und rechnung passen 18 zahlen in ein long.
Sollten sogar ein paar milliarden gehen.
die rede ist von 18 stelligen zahlen.
eine milliarde ist 10 stellig (109)
eine 18 stellige zahl liegt zwischen einer Billiarde (1015 => 16 Stellen) und einer Trillion (1018 => 19 Stellen)
-
-
eine 18 stellige zahl liegt zwischen einer Billiarde (1015 => 16 Stellen) und einer Trillion (1018 => 19 Stellen)
Also, das kann man genauer sagen! Eine Achtzehn-stellige natürliche Zahl liegt in [10^{18}, 10^{19}), ist also im 100 Billiarden Bereich :xmas2:
Edit: Hat sich die Frage des TEs jetzt eigentlich geklärt? Ich habe das Gefühl, ja, oder?
-
Sone schrieb:
eine milliarde ist 10 stellig (109)
Nein. Gerade die von dir genannte Potenz ist Neunstellig. Das sieht man doch schon am Exponenten.
Aha. Und 1000 = 10³ hat dann 3 Stellen?
-
ipsec schrieb:
Sone schrieb:
eine milliarde ist 10 stellig (109)
Nein. Gerade die von dir genannte Potenz ist Neunstellig. Das sieht man doch schon am Exponenten.
Aha. Und 1000 = 10³ hat dann 3 Stellen?
Mist...
-
Sone schrieb:
Mist...
Die Erfahrung lehrt, dass Sone nach solchen Sätzen in 99% der Fälle mit eingekniffenem Schwanz davon rennt. Kapiert hat er das aber noch nicht.
:xmas1: